На моем модуле Centos vps установлены nginx и php-fpm. Мне нужно добавить cronjob для выполнения скрипта каждые 10 минут. Я попытался crontab -e
со следующим в нем:
*/10 * * * * /path/to/script/script.php
Однако он не выполняется должным образом. Он говорит, что в PHP-коде есть ошибки и нет
-
Ошибка при попытке установить php-cli
--> Running transaction check
---> Package php-cli.i386 0:5.1.6-27.el5_5.3 set to be updated
--> Processing Dependency: php-common = 5.1.6-27.el5_5.3 for package: php-cli
--> Finished Dependency Resolution
php-cli-5.1.6-27.el5_5.3.i386 from base has depsolving problems
--> Missing Dependency: php-common = 5.1.6-27.el5_5.3 is needed by package php-cli-5.1.6-27.el5_5.3.i386 (base)
Error: Missing Dependency: php-common = 5.1.6-27.el5_5.3 is needed by package php-cli-5.1.6-27.el5_5.3.i386 (base)
Не видя ошибок, понять сложно, но я бы сказал, что это одна из следующих:
Если вы измените свой cron на:
*/10 * * * * /usr/bin/php /path/to/script/script.php
Это работает?
php-fpm - это только fastcgi .. установите также пакет php-cli
редактировать
Вы должны включить репо для установки
yum -y --enablerepo=webtatic install php-cli
У меня была такая же проблема с той же конфигурацией. По какой-то причине, после установки php-fpm несколько месяцев назад, я только сейчас заметил, что PHP не на пути. Скрипт php-cli не смог найти php, я не смог найти php, phpinfo () не помогло, где это было? По сути, установка "php-cli" возвращает php в путь. Все мои веб-сайты работали нормально, но мой скрипт php-cli перестал работать, потому что php исчез, я просто не замечал этого до прошлой ночи.
Решение, которое сработало для меня:
Шаг 1
yum install php-cli
================================================== ================================================== ================== Версия пакета Arch
Размер репозитория ================================================ ================================================== ==================== Установка: php-cli x86_64
5.4.13-1.el6.remi remi 2.6 M Обновление для зависимостей: php-common x86_64
5.4.13-1.el6.remi remi 891 k php-fpm x86_64 5.4.13-1.el6.remi remi 1,3 M php-mysql x86_64
5.4.13-1.el6.remi remi 134 k php-pdo x86_64 5.4.13-1.el6.remi remi 117 kСводка транзакции ================================================ ================================================== ==================== Установить 1 пакет (-ы) Обновить 4 пакета (-ов)
Общий размер загружаемых файлов: 5,0 млн. Это нормально [да / нет]: да
Надеюсь, это обновление ничего не сломает.
Примечание: мне пришлось добавить репозиторий Remi, чтобы получить php-fpm. Я действительно думал, что php-cli уже установлен, потому что этот PHP-скрипт работал несколько месяцев. Скрипт перестал работать примерно в то время, когда я перешел на php-fpm.
Шаг 2
Удалено #! Что угодно из первой строки скрипта.
php -l myscript.php
«В myscript.php не обнаружено синтаксических ошибок»
Woot!
Шаг 3
Обновил мой crontab с параметром "-f":
43 * * * * someuser php -f /home/getposts/myscript.php
Работает!