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

  • Автор темы Автор темы Mefisto
  • Дата начала Дата начала

Mefisto

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

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

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

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

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

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

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

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

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

Распостранненная ошибка - при запуске из консоли никакого $_SERVER['DOCUMENT_ROOT'] не будет...
 
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 ничего не пишется. Может команда неверная - подскажите плиз
 
Vallar_ultra
На скрипт выставил 777, на cronlog.txt 666
про error_reporting я недопонял - что имеется ввиду?

alexhemp
Распостранненная ошибка - при запуске из консоли никакого $_SERVER['DOCUMENT_ROOT'] не будет...
а использование getcwd(); допустимо?
 
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
 
Благодарю. Все успешно запустил

-~{}~ 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:

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