php.ini использует несколько путей включения - ограничение openbasedir

Мне нужно разрешить путь включения для поддомена 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 ответ

Ах, нашел это!

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
Другие вопросы по тегам