如何禁用特定 VirtualHost 的 "ini_set" 和 "exec"?
How to disable "ini_set" and "exec" for a particular VirtualHost?
我已经在使用 open_basedir
将 VirtualHost 限制到特定目录:
<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_set
或 exec
,但只针对这个特定的 VirtualHost(而不是其他的)?
您正在 php.ini 中查找 disable_functions 条目。
因此,您需要为特定的 VirtualHost 使用不同的 php.ini。这可以通过“PHPINIDir”
完成
<virtualhost *:80>
ServerName www.example.com
DocumentRoot /path/to/example.com
PHPINIDir /whatever/path/to/php.ini
</virtualhost>
UPDATE:我删除了带有 php_admin_value 的示例,因为正如其他人在评论中指出的那样,它不适用于此特定设置。正如这里讨论的那样:php_admin_value disable_functions not working(抱歉......应该事先查一下)。
我已经在使用 open_basedir
将 VirtualHost 限制到特定目录:
<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_set
或 exec
,但只针对这个特定的 VirtualHost(而不是其他的)?
您正在 php.ini 中查找 disable_functions 条目。 因此,您需要为特定的 VirtualHost 使用不同的 php.ini。这可以通过“PHPINIDir”
完成<virtualhost *:80>
ServerName www.example.com
DocumentRoot /path/to/example.com
PHPINIDir /whatever/path/to/php.ini
</virtualhost>
UPDATE:我删除了带有 php_admin_value 的示例,因为正如其他人在评论中指出的那样,它不适用于此特定设置。正如这里讨论的那样:php_admin_value disable_functions not working(抱歉......应该事先查一下)。