为每个用户自定义 php.ini 覆盖

为每个用户自定义 php.ini 覆盖

我怎样才能使每个用户(使用 Apache 的mod_userdirphp.ini在他们的主目录中都有一个与系统一起使用的文件php.ini(当前在/etc/php5/php.ini

干杯!

编辑:这需要 PHP ,基本上该服务器由于遗留代码5.2.x而无法运行 PHP 。5.3

编辑:大多数解决方案在这里.htaccessphp_value不起作用,因为我们使用带有 SuExec 的 FastCGI

答案1

当使用虚拟主机时,它看起来像这样:

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

其中 php.ini 位于 /var/www/web1/php.ini。

另请查看此处:http://www.howtoforge.com/how-to-specify-a-custom-php.ini-for-a-website-apache2-with-mod_php

答案2

使用 PHP 5.3.0,请查看用户配置文件文件。我还没有尝试过,但这听起来像是你想要的:

除了主 php.ini 文件之外,PHP 还会扫描每个目录中的 INI 文件,从请求的 PHP 文件的目录开始,一直到当前文档根目录(如 $_SERVER['DOCUMENT_ROOT'] 中设置)。只有具有 PHP_INI_PERDIR 和 PHP_INI_USER 模式的 INI 设置才会在 .user.ini 样式的 INI 文件中被识别。

或者,为每个用户创建一个 .htaccess 文件。在 .htaccess 中,修改包含路径

php_value include_path“。/php:/php/includes”

相关内容