如何在 Plesk 下自定义每个虚拟主机的 PHP 配置

如何在 Plesk 下自定义每个虚拟主机的 PHP 配置

我有一个通过 Plesk(9.5.2)管理的开发服务器(debian)。

我想知道当 PHP 作为 FastCgi/CGI 应用程序运行时是否可以更改单个主机的 php.ini 设置。

如果我将 PHP 作为 apache 模块运行,我可以通过 vhost.conf 来执行此操作,例如:

<Directory /var/www/vhosts/example.com/httpdocs>
    php_admin_flag engine on
    php_admin_value open_basedir "/var/www/vhosts/example.com/httpdocs:/var/www/vhosts/drupal:/tmp"
</Directory>

定制open_basedir 仅适用于示例.com域,但只有当我将 php 作为 apache 模块运行时才有效;对于其他动机,我需要 php 作为 FastCGI/CGI

我无法直接编辑 php.ini,因为这会影响我的所有域。

任何想法?

答案1

PHP 手册指定了可以更改每个指令的位置

至于使用 ini_set 或 .htaccess 你可能会倒霉,因为根据文档:

php_admin_value 名称 值 设置指定指令的值。这不能在 .htaccess 文件中使用。任何使用 php_admin_value 设置的指令类型都不能被 .htaccess 或 ini_set() 覆盖。要清除先前设置的值,请​​使用 none 作为值。

您可以通过在 CGI 目录中编写一个脚本来设置环境变量,然后启动 PHP,而不是直接调用 PHP,从而实现这一点。详细信息请参阅http://www.fastcgi.com/drupal/node/5?q=node/10并提供以下指针以获取更多信息:

位于 PHP 源中的 README.FastCGI 文件提供了有关这些变量和其他一些有用变量的更多详细信息。

相关内容