php.ini usa vários caminhos de inclusão - restrição openbasedir

1

Eu preciso permitir um caminho de inclusão para um subdomínio vhost no Plesk 10. Eu editei o caminho do PHP PEAR em /etc/php.ini como estou feliz por ele estar globalmente disponível:

include_path = ".:/usr/share/pear/"

Isso funciona na medida em que o PHP é capaz de ver os arquivos nesse diretório quando um script tenta incluí-los, mas estou recebendo o erro de openbasedir temido:

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/) 

Estou certo em dizer que o subdomínio ou o domínio principal pode ter um arquivo vhost.conf no qual eu possa alterar os caminhos permitidos pelo openbasedir? Eu tentei procurar soluções, mas infelizmente ainda não consigo ver uma:)

    
por MrFidge 08.06.2011 / 12:09

1 resposta

1

Ah achou!

1) crie o vhost.conf para o subdomínio: /var/www/vhosts/xxxx.com/subdomains/test/conf/vhost.conf

2) adicione o seguinte:

   <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) Configure o plesk para reconhecer o novo vhost.conf

/usr/local/psa/admin/sbin/httpdmng --reconfigure-domain test.xxxx.com

4) Reinicie o apache

service httpd restart
    
por 08.06.2011 / 12:38