php.ini的变化没有任何影响

当我对位于/ usr / local / lib中的php.ini进行任何更改时,这些更改似乎没有应用,例如,当我清除php.ini的所有内容并重新启动Apache时,一切正常。 ..

我search了php.ini,并在系统中的一个地方…有什么问题? 我怎样才能解决这个问题?

如果您不确定正在使用哪个php.ini,请在您的web文件夹中创build一个新文件,例如,将其命名为phpinfo.php ,内容如下

 <?php phpinfo(); ?> 

然后在浏览器中打开url( http://www.example.com/phpinfo.php )。 它会显示正在使用的php.ini的path。

当你确定了正确的文件,做出你想要的改变,并确保删除领先; 如果有一个激活设置。

重新启动Apache并重新加载phpinfo页面,现在应该显示已更改的设置。 如果没有,请确保您的webroot中没有覆盖php设置的.htaccess文件。

你可能在你的webroot中有php.ini文件。

按照这个:

在您的webroot中创build一个文件,将其命名为任何您想要的。 我通常更喜欢x.php

  # vim x.php 

该文件的内容应该是这样的:

 <?php phpinfo(); ?> 

现在在你的浏览器中打开这个文件:

 http://server_ip/x.php 

这会告诉你你的apache使用的php.ini的位置。 编辑该php.ini,它会工作。

您可能想要阅读这些线程:

  • 无法让PHP停止显示错误
  • PHP 7忽略ini文件,但声称加载
  • 麻烦启用php.ini中的display_error

提示:

  1. 什么是php_info输出中的“加载configuration文件”? – >检查你是否编辑了正确的ini文件。
  2. 检查您的设置在同一个文件中的多次出现。
  3. 格里菲斯的提示也不错:取消设置! (删除领先的“;”)
  4. 检查ini文件的权限。 Web服务器和php-cgi / php-fpm需要读访问权限。
  5. php 5及更高版本:testing之前,不仅要重新启动Web服务器,还要重新启动php-fpm服务。

在这里还不能评论,但:如果你保持更改并重新启动Apache,它是否工作?

如果是这样,原因可能是PHP作为Apache模块运行。
如果您希望更改在不重新启动Web服务器的情况下生效,请改为使用php-cgi。

本页面介绍安装和configuration; 在页面中search“作为Apache模块”或“PHP 5作为CGI二进制文件”。