如何禁用特定虚拟主机的"ini_set"和"exec"?



我已经在使用open_basedir将虚拟主机限制在某个目录:

<VirtualHost *:80>
ServerName test.example.com
DocumentRoot /sites/test/www
php_admin_value "open_basedir" "/sites/test/www"
<Directory />
AllowOverride All
Require all granted
</Directory>
</VirtualHost>

如何禁用ini_setexec的使用,但仅适用于此特定虚拟主机(而不是其他主机(?

您正在 php.ini 中查找disable_functions条目。 所以你想要一个不同的php.ini为你特定的虚拟主机。这可以通过"PHPINIDir"来完成。

<virtualhost *:80>
ServerName www.example.com
DocumentRoot /path/to/example.com
PHPINIDir /whatever/path/to/php.ini
</virtualhost>

更新:我删除了带有php_admin_value的示例,因为正如其他人在评论中指出的那样,它不适用于此特定设置。正如这里讨论的那样:php_admin_value disable_functions不起作用(对不起...应该事先查过(。

最新更新