PHP在Apache模块模式下运行
如果将PHP用作Apache模块,还可以使用Apache配置文件(例如httpd.conf)和.htaccess文件中的指令更改PHP配置设置。您必须具有“所有预警选项”或“所有预警”权限。
有几个允许用户更改Apache配置文件中PHP的配置的Apache指令。哪个指令是PHP_INI_ALL、PHP_INI_PERDIR或PHP_INI_关于属于SYSTEM中哪一个,php。ini有关配置选项的列表,请参阅附录。
php_value name value
设置指定值。类型PHP_INI_ALL或PHP_INI_仅适用于PERDIR指令。要清除以前设置的值,请将值设置为“无”。
注意:php_不要使用value设置布尔值。php_必须使用flag(请参见下文):
php_flag name on
用于设置布尔值的配置指令。PHP_INI_ALL和PHP_INI_仅适用于PERDIR类型的指令。
php_admin_value name value
设置指定命令的值。不能在htaccess文件中使用。php_admin_value中设置的指令是。无法由htaccess或virtualhost指令覆盖。要清除以前设置的值,请将值设置为“无”。
php_admin_flag name on
设置布尔值的配置指令。不能在htaccess文件中使用。php_admin_flag中设置的指令是。无法由htaccess或virtualhost指令覆盖。
示例1 Apache设置示例:
<IfModule mod_php5.c> php_value include_path ".:/usr/local/lib/php" php_admin_flag engine on </IfModule> <IfModule mod_php4.c> php_value include_path ".:/usr/local/lib/php" php_admin_flag engine on </IfModule>
警告
PHP常数不存在于PHP之外。例如,E_ALL或E_使用NOTICE等PHP常数进行httpd。conf中error_无法设置报告指令。这没有意义,因为它实际上等于0。必须替换为相应的掩码值。这些常数是php。ini中可用。
使用Windows注册表更改PHP设置
如果在Windows上运行PHP,则可以使用Windows注册表更改每个目录的配置。配置值保存在注册表项HKLMSOFTWARE PHPPer Directory Values下,子关键字对应于路径名。例如,目录c:inetpubwwwroot的配置值存储在HKLMSOFTWARE PHPPer Directory Values \ cinetpubwwwroot关键字下。此设置对该目录和子目录中的所有脚本都有效。项目中值的名称是PHP配置指令的名称,值的数据是字符串形式的指令值。不分析值的PHP常数。但是,可以用该方法设定的是,可变更的范围为PHP_INI_只有USER的配置值,并且PHP_INI_无法设置PERDIR值。因为这些配置对于每个请求都是只读的。
其他接口的PHP
与PHP的执行方法无关,ini_可以通过set()在脚本中运行时更改值。有关详细信息,请参见手册中的ini_请参见set()页面。
如果您对系统配置设置及其当前值的完整列表感兴趣,则可以运行phpinfo()函数来查看结果页面。单个配置指令的值可以是ini_get()或get_cfg_也可以在运行时使用var()进行检索。