如何在 Apache 里修改 PHP 配置

Posted 流光瞬息

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在 Apache 里修改 PHP 配置相关的知识,希望对你有一定的参考价值。

     当使用 php 作为 Apache 模块时,也可以使用 Apache 配置文件(例如:httpd.conf) 和 .htaccess 文件中的指令来修改 PHP 的配置

设定,不过需要有 "AllowOverride Options" 或 "AllowOverride All" 权限才可以

     哪些指令可以让用户在 Apache 配置文件内部修改 PHP 的配置?

     属于 PHP_INI_ALL、PHP_INI_PERDIR、或 PHP_INI_SYSTEM 中的一个,可以参考看 php.ini 配置选项列表:http://php.net/manual/zh/ini.list.php

     php.ini 配置选项列表里面的"可修改范围"决定了该配置在什么情况下可以被配置,可以参考:http://php.net/manual/zh/configuration.changes.modes.php

     PHP_INI_* 模式定义了一个 PHP 指令在何时何地,是否能够被设定,手册中的每个指令都有其所属的模式。例如有些指令可以在 PHP 脚本中用 ini_set

() 来设定,而有些只能在 php.ini 或 httpd.conf 中,例如:output_buffering 指令是属于PHP_INI_PERDIR(可在 php.ini,.htaccess 或 httpd_conf 中设定),

因而就不能使用 ini_set() 来设定,但是像 display_errors 指令属于 PHP_INI_ALL 因而就可以在任何地方被设定,包括使用 ini_set()

     php_admin_value name value 

     设定指定的指令的值,不能用于 .htaccess 文件,任何用 php_admin_value 设定的指令都不能被 .htaccess 或 virtualhost 中的指令覆盖

     php_admin_flag name on | off

     用来设定布尔值的配置指令 ,不能用于 .htaccess 文件,任何用 php_admin_flag 设定的指令都不能被 .htaccess 或 virtualhost 中的指令覆盖

     参考常见 apache php_admin_flag、php_admin_value 设置:

     https://hcldirgit.github.io/2017/10/13/Php/7.%20%E5%B8%B8%E8%A7%81apache%20php_admin_value%20php_admin_flag%20%E8%AE%BE%E7%BD%AE/

     注意:php_admin_flag、php_admin_value 一般用于 httpd.conf

     php_value name value 

     设置指定的值,只能用于 PHP_INI_ALL 或 PHP_INI_PERDIR 类型的指令

     php_flag name on | off

     用来设定布尔值的配置指令,只能用于 PHP_INI_ALL 或 PHP_INI_PERDIR 类型的指令

     php_value、php_flag 主要用于 .htaccess 中,但如果是 PHP_INI_ALL 类型的指令可以在任何地方被设定

     而 value 和 flag 的区别在于:value 用于设置值,flag 用于只能是 on | off

以上是关于如何在 Apache 里修改 PHP 配置的主要内容,如果未能解决你的问题,请参考以下文章

如何在Apache和Nginx禁止上传目录里PHP的执行权限

如何在Windows下配置搭建PHP环境

php5.5.6如何配置

linux下apache2的httpd.conf如何配置?

网站环境apache + php + mysql 的XAMPP,如何实现一个服务器上配置多个网站?

Nginx/Apache下如何禁止指定目录运行PHP脚本