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

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

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", чтобы он работал правильно.

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

UPDATE: Все ошибки файла процесса 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
задан 19 March 2013 в 14:04
1 ответ

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

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

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

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

1
ответ дан 5 December 2019 в 20:08

Теги

Похожие вопросы