Проблемы с PHP Cron - использование plesk: динамическая библиотека, open_basedir - PullRequest
0 голосов
/ 27 февраля 2012

Я ввел следующую команду через plesk (панель управления) crontab, чтобы запускать php-файл раз в час:

php httpdocs/cron/script.php

И я получаю следующие 2 сообщения об ошибке (один раз в час, на мой электронный адрес):

PHP Warning:  PHP Startup: Unable to load dynamic library '/usr/lib/php/modules/http.so' -
/usr/lib/php/modules/http.so: cannot open shared object file: No such file or directory in
Unknown on line 0
PHP Warning:  require_once(): open_basedir restriction in effect.
File(../include/functions.php) is not within the allowed path(s):
(/var/www/vhosts/basedomain.com:/tmp) in /var/www/vhosts/example.com/httpdocs/cron/script.php
on line 2
PHP Warning:  require_once(../include/functions.php): failed to open stream: Operation not
permitted in /var/www/vhosts/example.com/httpdocs/cron/script.php on line 2
PHP Fatal error:  require_once(): Failed opening required '../include/functions.php'
(include_path='.:') in /var/www/vhosts/example.com/httpdocs/cron/script.php on line 2

Примечание: строка 2 имеет require_once(../include/functions.php);

Я понял, что это 2 разных вопроса. Я пытался решить каждый в отдельности, и они оба все еще со мной. Любая помощь будет оценена. Спасибо

Ответы [ 2 ]

1 голос
/ 27 февраля 2012

Когда вы запускаете PHP таким образом, конфигурация, заданная в Plesk-специфичных и Apache-специфичных местах, таких как vhost.conf, не применяется.

Поскольку ваш скрипт уже находится внутри httpdocs, почему бы вам просто не использовать wget / curl для вызова скрипта через HTTP? Что-то вроде /usr/bin/curl http://yoursite.com/cron/script.php 2>&1. Возможно, стоит подумать о дополнительной проверке (ограничение IP, htpasswd auth), чтобы убедиться, что случайные посетители (дети сценариев) не могут ее запустить.

1 голос
/ 27 февраля 2012

Пожалуйста, проверьте ниже, может быть, это поможет вам.
http://www.geeklog.net/forum/viewtopic.php?showtopic=28107

...