vezand
25.11.2012 - 17:34
Добрый день. Решил написать
php parser новостей. Нашел готовую библиотеку и написал себе parser. Вручную запускаю, всё отлично работает. Когда же идёт запуск через cron то сервер выдаёт ошибку Fatal error: Function name must be a string in...
$html = file_get_dom('http://www.example.ru/rss.xml');
foreach($html('item') as $article)
{
$id = $article('id', 0)->getPlainText();
}
Для меня не понятно, почему когда я запускаю
скрипт вручную ошибки нет.
$article('id', 0)
такая конструкция допустима если вы используете анонимную функцию.Если вы присвоили переменную анонимной функции и она
возращяет объект.У Вас это не так,так как ошибка говорит сама за себя.
vezand
25.11.2012 - 18:46
Почему тогда сервер не ругается, если я вручную запускаю файл?
Гость_kafe
25.11.2012 - 22:33
запускаешь из консоли или из браузера?
vezand
25.11.2012 - 23:21
из браузера
Invis1ble
26.11.2012 - 10:27
вероятно, HTTP-сервер настроен не показывать ошибки, поэтому кажется, что все нормуль
_____________
Профессиональная разработка на заказЯ на GitHub |
второй профиль
vezand
26.11.2012 - 11:46
Не, не. Скрипт четко отрабатывает, всё работает 100%.
Invis1ble
26.11.2012 - 11:50
vezand
26.11.2012 - 12:51
Т.е крон запускается не с той же версии php?
Invis1ble
26.11.2012 - 12:53
запускается не крон, а наоборот, сам крон запускает
скрипты. да, возможно
_____________
Профессиональная разработка на заказЯ на GitHub |
второй профиль
killer8080
26.11.2012 - 17:58
vezand
нужно видеть весь исходник, по этому фрагменту можно только гадать.
Возможные причины:
1 текущая директория не соответствует директории запуска скрипта, остюда могут быть проблемы с инклюдами, если используются относительные пути.
2 в CLI режиме PHP использует другой php.ini, возможно какие то расширения необходимые для работы этого скрипта, в нем не подключены.
vezand
26.11.2012 - 21:36
Версия PHP, когда из браузера запускаю 5.3.17, версия при запуске крона - 5.2.17.
Про пути, сервер бы ошибку выдавал что не правильные пути, нет?.
Я попробовал, указать неверный путь, крон ругнулся.
killer8080
26.11.2012 - 22:10
Цитата (vezand @ 26.11.2012 - 20:36) |
Версия PHP, когда из браузера запускаю 5.3.17, версия при запуске крона - 5.2.17. |
видимо в этом причина. Узнай у хостера путь к php для новой версии.
Цитата (vezand @ 26.11.2012 - 20:36) |
Про пути, сервер бы ошибку выдавал что не правильные пути, нет?.Я попробовал, указать неверный путь, крон ругнулся. |
я про пути в require / include. Include может и не обругатся, будет зависеть от установленного уровня ошибок.
vezand
26.11.2012 - 22:59
Всё, решение найдено. Узнал у хостера путь к новой версии php для крона.
Ранее был /usr/bin/php , теперь /usr/local/php53/bin/php . Радует, что в техподдержках сидят толковые люди. Всем спасибо )
vezand , типичная ошибка для запуска через крон, сам необноклатно сталкивался с таким, у меня все ок, а парсер не запускается через крон
тут 2 решения либо найти пусть до php, либо запускаешь через wget
_____________
Быстрый ответ:
Powered by dgreen
Здесь расположена полная версия этой страницы.