Мне нужно разрешить включать путь для поддомена vhost в Plesk 10. Я отредактировал путь PHP PEAR в /etc/php.ini, так как я счастлив, что он доступен по всему миру:
include_path = ".:/usr/share/pear/"
Это работает постольку, поскольку PHP может видеть файлы в этом каталоге, когда сценарий пытается их включить, но я получаю ужасную ошибку openbasedir:
Warning: require_once() [function.require-once]: open_basedir restriction in effect. File(/usr/share/pear/xxxx.php) is not within the allowed path(s): (/var/www/vhosts/xxxx.com/subdomains/test/httpdocs/:/tmp/)
Правильно ли я говорю, что поддомен или основной домен может иметь файл vhost.conf, в котором я могу изменять разрешенные пути openbasedir? Я пробовал искать решения, но боюсь, что пока не вижу ни одного :)
Ах нашел!
1) создайте vhost.conf для поддомена: /var/www/vhosts/xxxx.com/subdomains/test/conf/vhost.conf
2) добавить следующее:
<Directory /var/www/vhosts/xxxx.com/subdomains/test/httpdocs>
<IfModule sapi_apache2.c>
php_admin_value open_basedir "/var/www/vhosts/xxxx.com/subdomains/test/httpdocs:/tmp:/usr/share/pear"
</IfModule>
<IfModule mod_php5.c>
php_admin_value open_basedir "/var/www/vhosts/xxxx.com/subdomains/test/httpdocs:/tmp:/usr/share/pear"
</IfModule>
</Directory>
3) Настройте plesk для распознавания нового vhost.conf
/usr/local/psa/admin/sbin/httpdmng --reconfigure-domain test.xxxx.com
4) Перезагрузите apache
service httpd restart