欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

PHP在运行时进行配置的方法介绍

程序员文章站 2022-05-03 19:59:02
...

本篇文章给大家带来的内容是关于PHP在运行时进行配置的方法介绍 ,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。

在PHP启动时会读取PHP的配置文件php.ini,对于服务器模块版本的PHP仅在web服务器启动时读取一次,而CGI和CLI版本的PHP每次调用都会读取。在php.ini文件中可以使用环境变量,PHP5.1以后还可以在ini文件中引用ini中已存在的变量。读取php.ini文件时,按如下顺序查找php.ini文件:

  1. SAPI模块所指定的位置(apache2中的PHPIniDir指令、CGI和CLI的 -c 命令行选项、NSAPI中的php_ini参数、THTTPD中的PHP_INI_PATH环境变量等)。

  2. 环境变量PHPRC,PHP5.2之前的顺序在注册表键值之后。

  3. PHP5.2起,在windows系统中,可以为不同的PHP版本设置不同的php.ini文件位置,会按[HKEY_LOCAL_MACHINE\SOFTWARE\PHP\x.y.z]、[HKEY_LOCAL_MACHINE\SOFTWARE\PHP\x.y]、[HKEY_LOCAL_MACHINE\SOFTWARE\PHP\x]的顺序检查注册表目录,其中x、y、z分别表示PHP的主版本号、次版本号和发布版本号。在任一目录中找到的第一个IniFilePath的值作为php.ini的位置。

  4. 在windows系统中注册表[HKEY_LOCAL_MACHINE\SOFTWARE\PHP]中IniFilePath的值。

  5. 除CLI外,当前工作目录。

  6. SAPI模式下web服务器目录,或者在windows下PHP所在目录。

  7. windows系统下windows系统目录(c:\windows或c:\winnt),或者编译时--with-config-file-path选项指定的位置。

如果存在php-<SAPI>.ini,则会用它来代替php.ini,其中<SAPI>是指当前SAPI模块的名称,比如CLI,名称为php-cli.ini。SAPI的名称可以通过函数php_sapi_name()获取。

PHP5.3起支持每个目录的.htaccess风格的ini文件,此类文件只可以被CGI/FastCGI SAPI处理,此功能使得PECL的htscanner扩展作废。如果使用Apache,则用.htaccess文件有同样效果。除了php.ini文件外,还会从被执行的PHP文件所在目录开始一直上升到$_server['DOCUMENT_ROOT']所指定的web根目录扫做ini文件。如果被执行的PHP文件在web根目录外,则只扫描被执行的PHP文件所在的目录。在.user.ini风格的ini文件中只有PHP_INI_PERDIR和PHP_INI_USER模式的ini配置能被识别。

对于.user.ini文件,有两个配置用于控制ini文件的使用:

  1. user_ini.filename:指定PHP在目录中查找的ini文件名,如果为空字符串,则不会进行查找,默认值为.user.ini。

  2. user_ini.cache_ttl:指定重新读取ini文件的时间间隔,单位为秒,默认值为300(5分钟)。

相关推荐:

php中流程控制语句简单介绍(附示例)

eclipse 运行php时,运行配置,和调试配置的设置

以上就是PHP在运行时进行配置的方法介绍的详细内容,更多请关注其它相关文章!