Необходимость запуска заданий cron в cpanel от имени конкретного пользователя - проблемы с разрешениями

Прямо сейчас мой звонок в разделе работы CPanel CRON:

nice php /home/user/public_html/process.php 

После последних обновлений CentOS и PHP 5.2, я получаю эту ошибку на всех заданиях CRON:

PHP Warning:  PHP Startup: Unable to load dynamic library '/usr/lib64/php/modules/ssh2.so' - /usr/lib64/php/modules/ssh2.so: cannot open shared object file: No such file or directory in Unknown on line 0

Что еще хуже, функции PHP не распознаются (например, mysql_connect а также require_once ) (только в CRON-скриптах, хотя из CPanel, обычные общедоступные файлы PHP загружаются в общедоступный интернет без проблем).

По некоторым поискам, похоже, мне нужно запустить его как пользователь "nobody", чтобы он работал правильно.

Если бы я был в оболочке, я бы сделал su -s /bin/bash nobody сначала действовать от имени этого пользователя, но в сценариях CPanel CRON это не работает.

ОБНОВЛЕНИЕ: Все ошибки файла процесса php при запуске из CRON, согласно запросу:

PHP Warning:  PHP Startup: Unable to load dynamic library '/usr/lib64/php/modules/ssh2.so' - /usr/lib64/php/modules/ssh2.so: cannot open shared object file: No such file or directory in Unknown on line 0
PHP Warning:  PHP Startup: Unable to load dynamic library '/usr/lib64/php/modules/ssh2.so' - /usr/lib64/php/modules/ssh2.so: cannot open shared object file: No such file or directory in Unknown on line 0

Warning: require_once(../users/config/application_top.php): failed to open stream: No such file or directory in /home/username/process.php on line 34

Fatal error: require_once(): Failed opening required '../users/config/application_top.php' (include_path='.:/usr/share/pear:/usr/share/php') in /home/username/process.php on line 34

Файлы, отмеченные внутри require_once(), действительно есть, поэтому я понятия не имею, почему он так говорит. И это работает уже несколько месяцев... Я должен предположить, что это было yum update это убило это.

1 ответ

Решение

Предупреждение PHP: Запуск PHP: невозможно загрузить динамическую библиотеку '/usr/lib64/php/modules/ssh2.so' - /usr/lib64/php/modules/ssh2.so: невозможно открыть файл общего объекта: нет такого файла или каталога в Неизвестно в строке 0

Убедитесь, что у вас есть то же самое:

  1. $ PATH
  2. все остальные переменные среды

когда работает в cron. Вы можете сбросить echo $PATH а также env вывод во временный файл и сравнение с результатом при запуске из командной строки.

Другие вопросы по тегам