У меня очень простой PHP-скрипт, который должен сделать запрос POST. Код следующий:
$ch = curl_init(); curl_setopt($ch,CURLOPT_URL, $url); curl_setopt($ch,CURLOPT_POST, 1); curl_setopt($ch,CURLOPT_POSTFIELDS, $fields); curl_setopt($ch,CURLOPT_RETURNTRANSFER, true); $result = curl_exec($ch); curl_close($ch); mail('myemail@gmail.com','Script run with success','Script run with success',$headers);
Когда я запускаю его из браузера, он работает нормально. Однако, когда я пытаюсь выполнить его как задание cron, часть Curl не будет работать. Остальная часть скрипта работает даже как работа cron, так как я получаю письмо с подтверждением в конце.
Вот запись cron:
*/5 * * * * /usr/bin/php /home/username/scripts/test.php
Любая подсказка относительно того, почему Curl не выполняет роль cron?
Обновление: я попытался запустить скрипт через оболочку, и часть Curl тоже не запускалась. Так:
Обновление 2: Добавление -dsafe_mode = Выключено во время работы через оболочку, чтобы сценарий работал нормально. Однако добавление одного и того же флага в запись cron ничего не делало. Поэтому мне все же нужно выяснить, как заставить его работать от cron.