Почему PHP pear не работает даже с правильным путём включения? - PullRequest
2 голосов
/ 01 февраля 2011

Вот сообщение об ошибке, которое я получаю

Неустранимая ошибка: require_once () [function.require]: Не удалось открыть обязательный файл 'Mail.php' (include_path = '.: / Usr / share)/ psa-pear /: / usr / share / pear: / local / PEAR / ')

Mail.php здесь /usr/share/pear

Я использую Centos вVPS с Plesk.Сценарий отлично работает из командной строки, но умирает в браузере.

Редактировать: разрешения выглядят нормально

drwxr-xr-x 16 root root 4096 30 января 07:06 pear

Edit2:

после рыбалки я думаю, что это связано с plesk, как объяснено здесь

http://www.matteomattei.com/en/install-yum-and-php-pear-on-centos-5/

У меня есть куча включаемых файлов

-rw-r-----  1 root apache   6648 Jan 31 20:06 12965206700.32285200_httpd.include
-rw-r-----  1 root apache   6532 Jan 31 15:54 12965108850.92819600_httpd.include
-rw-r-----  1 root apache   6532 Jan 31 07:01 12964788880.47252600_httpd.include

После редактирования самого последнего выполните следующие действия:

grep base 12965206700.32285200_httpd.include
php_admin_value open_basedir /var/www/vhosts/wor.wordswithfriends.net/httpdocs/:/tmp/:/usr/share/pear:/local/PEAR/
php_admin_value open_basedir /var/www/vhosts/wor.wordswithfriends.net/httpdocs/:/tmp/:/usr/share/pear:/local/PEAR/
php_admin_value open_basedir /var/www/vhosts/wor.wordswithfriends.net/httpdocs/:/tmp/:/usr/share/pear:/local/PEAR/
php_admin_value open_basedir /var/www/vhosts/wor.wordswithfriends.net/httpdocs/:/tmp/:/usr/share/pear:/local/PEAR/

и перезапустите.Все еще нет радости

Ответы [ 2 ]

6 голосов
/ 01 февраля 2011

Проверьте разрешение вашего файла в этом каталоге.

Когда вы запускаете PHP в командной строке, вы работаете как вы сами, но когда вы получаете доступ через браузер, PHP запускается как пользователь apache или www-data.

Вам либо нужно разрешить чтение для доступа к каталогу pear (и всему его содержимому), либо вы даете групповое чтение, а затем используете chgrp, чтобы установить для него apache или www-data (я не совсем уверен, какой пользователь используется на CentOS)

редактирование:

Дополнительно - вы можете включить косую черту в вашу конфигурацию - я заметил, что вы добавили его только как /usr/share/pear - я обычно не изменяю это значение ini, поэтому не знаю, имеет ли это значение , Try /usr/share/pear/

2 голосов
/ 02 сентября 2011

Путь включения в php.ini должен быть значением этой команды: pear config-get php_dir

...