我想设置我自己的(php2.ini)文件,其中只有几行必须覆盖第一个php.ini设置-仅用于这些行。
所以我开始在谷歌上搜索,似乎我需要的是parse_ini_file
函数。
好的。现在,在index.php中,我有:
parse_ini_file("php2.ini");
phpinfo();
exit();
但是php2.ini中的那些设置没有加载。。。
试图查看php2.ini文件是否为read-it并且是,因为如果我设置了parse_ini_file("php2-not-exist.ini")
,它会"告诉"我找不到该文件。因此,php2.ini文件被读取,但设置不会被覆盖。
php2.ini文件的下一行中有:
error_log = "errors.log"
display_errors = "0"
max_execution_time = "300"
upload_max_filesize = "60M"
post_max_size = "60M"
date.timezone = "Europe/Bucharest"
default_charset = "UTF-8"
mbstring.internal_encoding = "UTF-8"
mbstring.http_output = "UTF-8"
mbstring.encoding_translation = "On"
mbstring.func_overload = "6"
尝试让这个文件像post_max_size = "60M"
一样只使用一行,但仍然不会覆盖一般的php.ini设置。
我在这里错过了什么?
我知道有些设置只能设置,而且只能使用php.ini文件配置。因此,使用parse_ini_file开关设置第二个文件是php中的一个函数。。。有些地方不正确,因为有些服务器不允许您编辑通用的php.ini文件。那么,如果您不能访问通用的php.ini文件,php如何让您设置第二个php.ini文件呢?我不知道这是否与我的问题有关。我只是说,也许这就是问题所在。
现在,我正在将wamp与php5.5.12一起使用。我只想当我上传我的网站时,一切都完成了。我知道有些托管服务器允许你有第二个php.ini文件,必须上传到public_html或任何文件夹中。这就是为什么我想设置我的php2.ini文件。当我上传到主机时,要清理网站。
谢谢。
没有像这样覆盖服务器设置的便利功能。您可能需要的是.user.ini
(前导点很重要)文件:
自PHP 5.3.0以来,PHP支持按目录配置INI文件。
和:
除了主php.ini文件外,php还会扫描每个目录中的ini文件,从请求的php文件的目录开始,一直扫描到当前文档根目录(如$_SERVER['document_root']中设置的)。如果PHP文件在文档根目录之外,则只扫描其目录。
有关该功能的完整文档,请参阅http://php.net/manual/en/configuration.file.per-user.php.
请注意,此处只能更改设置的子集:
只有模式为PHP_INI_PERDIR和PHP_INI_USER的INI设置才会在.USER.INI-style INI文件中被识别。