PHP读取配置的顺序是什么?

时间:2011-09-23 14:16:16

标签: php apache

PHP配置可以在许多不同的地方进行:

  • 的php.ini
  • 的httpd.conf
  • 的.htaccess
  • 在php脚本中通过ini_set()
  • 了?

某些配置设置只能在某些地方设置,并且某些Apache和PHP设置会阻止您在.htaccess或PHP脚本中进行任何PHP配置更改。但假设可以在上述所有位置设置给定的PHP设置,此配置的读取顺序是什么?换句话说什么凌驾于什么? (我假设ini_set()会覆盖以前的任何设置)。

4 个答案:

答案 0 :(得分:1)

在php.ini之前有编译时设置。其余的阶段并不是真正的“配置”。它们更像是一种覆盖前一阶段建立的设置的方法。 PHP将很乐意在php.ini / http.conf / .htaccess中没有任何其他配置指令的情况下运行。 php.ini确实列出了(差不多?)所有可用的配置设置,但这只是一种礼貌,所以你不必在文档中找到你想要覆盖的那个设置。

答案 1 :(得分:0)

您以正确的顺序命名它们。

我不建议在除php.ini之外的任何其他地方设置配置。

还有每个目录的php.ini配置,我不知道哪个先来,.htaccess或目录php.ini,但我会先猜测.htaccess和php.ini之后。

答案 2 :(得分:0)

Apache加载PHP,因此首先读取Apache的配置。 .htaccess也由网络服务器处理,所以我猜这将是第二个。第三,加载PHP。它在几个位置检查PHP.ini。另请参阅here。最后,运行时检查ini_set。

答案 3 :(得分:0)

首先,您可以使用user.ini file。 我认为PHP会从大到小读取它,我的意思是来自httpd.conf - > php.ini(然后设置user.ini) - > .htacess - >的ini_set()