Substituição personalizada do php.ini para cada usuário

2

Como posso fazer com que cada usuário (com mod_userdir do Apache) tenha um arquivo php.ini em seu diretório inicial que é usado junto com o sistema php.ini (atualmente em /etc/php5/php.ini ?

Felicidades!

EDITAR: Isto requer PHP 5.2.x , basicamente este servidor não pode executar PHP 5.3 por causa do código legado.

EDITAR: A maioria das soluções com .htaccess e php_value não funciona aqui porque usamos FastCGI com SuExec

    
por Kristopher Ives 27.05.2010 / 00:15

2 respostas

5

Ao usar o Virtualhosts, ficaria assim:

<VirtualHost 1.2.3.4:80>
    [...]
    PHPINIDir /var/www/web1
    [...]
</VirtualHost>

Onde o php.ini estaria localizado em /var/www/web1/php.ini.

Verifique também aqui: link

    
por 23.06.2010 / 23:33
0

Com o PHP 5.3.0, confira o .user.ini arquivos. Eu não tentei isso, mas parece que você quer:

In addition to the main php.ini file, PHP scans for INI files in each directory, starting with the directory of the requested PHP file, and working its way up to the current document root (as set in $_SERVER['DOCUMENT_ROOT']). Only INI settings with the modes PHP_INI_PERDIR and PHP_INI_USER will be recognized in .user.ini-style INI files.

Ou então, crie um arquivo .htaccess para cada usuário. Dentro do .htaccess, modifique o include_path :

php_value include_path "./php:/php/includes"

    
por 24.06.2010 / 00:09