cron, phpmailer и внешние картинки

Mefisto

Новичок
cron, phpmailer и внешние картинки

есть скрипт, запускамый по cron, который отправляет html письма через класс phpmailer

так вот, он цепляет на страницу письма внешние картинки (jpeg) которые лежат в одном каталоге со скриптом.

при обычном запуске скрипта письма приходят нормально с картинками

при запуске из крона картинки не отображаются.

в чем проблема? может дело в правах доступа на картинки, какие тогда нужно поставить?

спасибо за ответы
 

Бамбук

Новичок
А пути точно правильно работают ?
Сделай логирование, и погляди, что там творится. Дело может и не в правах.

А права, если никакого секрета в картинках нет, то 744 ;)
 

VsegdaV

Новичок
Думаю что проблема в том, что напрямую ты вызываешь сам скрипт.
А когда ты его вызываешь из крона, ты его инклюдишь откуда то из другой папки.

То есть, скрипт отправляющий письма банально не находит файлов.
 

Redwind

Новичок
аналогичный вопрос, только когда запускаю руками - все нормально, когда запускаю через cron - не происходит ничего. В чем может быть причина?
 

alexhemp

Новичок
"руками" это как - через браузер или в консоли?

Распостранненная ошибка - при запуске из консоли никакого $_SERVER['DOCUMENT_ROOT'] не будет...
 

Redwind

Новичок
2alexhemp запускаю через браузер.

для запуска с cron использую команду
cd /usr/local/bin/php < /usr/home/public_html/update.php

update.php содержит:
PHP:
<?
$fp=fopen("./cronlog.txt","a+");
fputs($fp,"Start   update.php  at ".date("M.d.Y H:i:s", mktime())."\n");
fclose($fp);
?>
в файл cronlog.txt ничего не пишется. Может команда неверная - подскажите плиз
 

Redwind

Новичок
Vallar_ultra
На скрипт выставил 777, на cronlog.txt 666
про error_reporting я недопонял - что имеется ввиду?

alexhemp
Распостранненная ошибка - при запуске из консоли никакого $_SERVER['DOCUMENT_ROOT'] не будет...
а использование getcwd(); допустимо?
 

ys

отодвинутый новичок
Redwind

> для запуска с cron использую команду
> cd /usr/local/bin/php < /usr/home/public_html/update.php

С какого перепоя?

cd /usr/home/public_html && /usr/local/bin/php /usr/home/public_html/update.php
 

Redwind

Новичок
Благодарю. Все успешно запустил

-~{}~ 18.04.07 11:41:

теперь другая проблема:
при запуске через браузер скрипт исполняет все как нужно, но через крон ничего(крон работает верно - поставил в начале скрипта скрипт, который ставит метку о запуске).
Пути в скриптне указываю явно:
$realp="/home/cvhgh/domains/qwerty.info/public_html";
В чем может быть причина?
 

Активист

Активист
Команда форума
Во первых, ставить на все файлы 777 - полный маразм, имхо)
для файлов к которым нужно получить доступ пользователю нужно поставить
chmod -R +r ./dir/*

На исполняемый файл (php)
chmod o+x ./dir/

Что бы корректно работали скрипты, нужно в первой строке указать
#!/usr/local/bin/php

Запускать скрипт следующим образом из крона:
cd /fullPathToScriptDir/&&./update.php

В начало файла крона поставить
MAILTO="[email protected]"

Что бы было что-то вроде
[root@host ~]# crontab -l

MAILTO="[email protected]"

1 * * * * /usr/local/ispmgr/sbin/rotate
1 23 * * * /root/autoWhiteListCron.php

И на мыло будет приходить все что нужно)

-~{}~ 18.04.07 13:16:

Тоесть на мыло будет приходить вся информация о том, что выдало на консоле, и об ошибках тоже.
 
Сверху