“php.ini的读取顺序”的版本间的差异

来自Blueidea
跳转至: 导航搜索
(创建页面,内容为“PHP旧版本将php.ini放在windows目录下,在PHP5中,PHP.ini的查找路径不再限于PHP4时代的%SystemRoot%,PHP5会按以下顺序查找PHP.ini: WE...”)
 
 
(未显示同一用户的2个中间版本)
第13行: 第13行:
 
#PHP5的目录(for CLI),或者web服务器目录(for SAPI modules)  
 
#PHP5的目录(for CLI),或者web服务器目录(for SAPI modules)  
 
#环境变量:%PHPRC%  
 
#环境变量:%PHPRC%  
 +
#php -c "c:/inidir/" test.php
  
 
排最后的并且有值的生效
 
排最后的并且有值的生效
  
 +
查看php.ini 中所有生效的选项
 +
<source lang="php">
 +
<?php
 +
$ini = file_get_contents('c:/php/cmdini/php.ini');
 +
$ini = explode("\n", $ini);
 +
foreach ($ini as $value) {
 +
if ($value && $value[0] != ';' && $value[0]!="\r") {
 +
echo "$value"."\n";
 +
}
 +
}
 +
?>
 +
</source>
 
[[category:PHP]]
 
[[category:PHP]]

2015-06-22T05:18:45的最后版本

PHP旧版本将php.ini放在windows目录下,在PHP5中,PHP.ini的查找路径不再限于PHP4时代的%SystemRoot%,PHP5会按以下顺序查找PHP.ini:

WEB服务顺序

  1. PHPIniDir(Apache 2 module only,这个指令仅仅用于当PHP作为Apache模块时使用,不支持CGI运行的PHP)
  2. 注册表键值:HKEY_LOCAL_MACHINE/SOFTWARE/PHP/IniFilePath
  3. 环境变量:%PHPRC%
  4. PHP5的目录(for CLI),或者web服务器目录(for SAPI modules)
  5. Windows目录(C:/windows or C:/winnt)

在命令行下的顺序大致

  1. 注册表键值:HKEY_LOCAL_MACHINE/SOFTWARE/PHP/IniFilePath
  2. Windows目录(C:/windows or C:/winnt)
  3. PHP5的目录(for CLI),或者web服务器目录(for SAPI modules)
  4. 环境变量:%PHPRC%
  5. php -c "c:/inidir/" test.php

排最后的并且有值的生效

查看php.ini 中所有生效的选项

<?php
$ini = file_get_contents('c:/php/cmdini/php.ini');
$ini = explode("\n", $ini);
foreach ($ini as $value) {
	if ($value && $value[0] != ';' && $value[0]!="\r") {
		echo "$value"."\n";
	}
}
?>