如何使用 NameVirtualHosts 在 LAMP 服务器上设置每个站点的 php.ini 文件?

Bre*_*nt 10 php configuration lamp apache-2.2

我有一个LAMP服务器,使用NameVirtualHosts为许多不同的网站提供服务。

直到最近,拥有一个全局 php.ini文件还不错,但最近我们的一位开发人员要求在 php.ini 中进行一些我不想全局设置的设置。

我很确定我听说你可以在每个站点的基础上设置 php.ini 文件,但不知道如何去做。

有人可以指出我如何实现这一目标的正确方向吗?

Zor*_*che 14

您将放置在 php.ini 中的大多数设置也可以放置在 .htaccess 或该站点的apache 配置中。例如,我的一个虚拟主机在 .htaccess 中有这个

    php_value display_errors 1
    php_value register_globals 0
    php_value short_open_tag 0
    php_value magic_quotes_runtime 0
    php_value magic_quotes_gpc 0
    php_value session.name "PHPSESSID_SITEBLAH"
    php_value session.gc_maxlifetime 57600
    php_value session.gc_probability 1
    php_value session.gc_divisor 500
Run Code Online (Sandbox Code Playgroud)


小智 7

您还可以在 Apache 配置文件 (httpd.conf/apache.conf) 中指定配置设置。在您的情况下,您可以在上下文中指定配置值。

以下示例应将虚拟主机 example.com 的 upload_max_filesize 设置为 10M。

<VirtualHost *>
    ServerName example.com
    DocumentRoot /path_to_docroot
    php_value upload_max_filesize 10M
    php_admin_flag allow_url_fopen on
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)

如果您不想为整个站点设置此值,而是想为应用程序所在的一个特定目录设置此值,则可以在 .

<VirtualHost *>
   ServerName example.com
   DocumentRoot /path_to_docroot
  <Location /testApp/>
     php_value upload_max_filesize 10M
     php_admin_flag allow_url_fopen on
  </Location>
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)

有关更多说明,请参阅http://php.net/manual/en/configuration.changes.php