我需要更改php.ini文件中的一些值,在我的应用程序中运行phpinfo()
后,在下面的位置找到了我的php.ini文件Configuration File (php.ini) Path /opt/php-5.6.30/lib
Loaded Configuration File /opt/php-5.6.30/lib/php.ini
更改了上述php.ini文件中的值,然后重新启动apache 2,但它们没有反映出来。
我运行php --ini
命令来查看任何其他php.ini文件,并得到以下文件夹:/etc/php/7.0/cli
/etc/php/7.0/apache2
/etc/php/7/0/fpm
因此,在apache 2和php7.0之后的所有php.ini文件中更改值-fpm重新启动,但没有效果。
我很困惑,因为我的应用程序的“加载的配置文件”是使用php 5.6.30,这是在/opt/php-5.6.30
文件夹中没有任何apache2
文件夹和php-fpm点在/etc/php/7.0
文件夹。
这些ini文件后面跟着apache & php-fpm服务重新启动,实际上没有一个反映我的更改。
如有任何建议/指示,将不胜感激。
2条答案
按热度按时间6jygbczu1#
我认为问题是你使用了不同的php版本的php-fpm(web)和cli。你应该创建test.php文件,并在那里运行phpinfo()。并检查加载的php.ini的web版本位于何处。你应该从web访问test.php,如https://example.com/test.php
odopli942#
如果您对php.ini文件进行了更改,但即使重新启动服务器,更改也没有反映出来,您可以尝试以下几种方法:
检查您编辑的php.ini文件是否正确:确保您正在编辑服务器正在使用的php.ini文件正确无误。您可以通过创建一个包含以下内容的PHP文件来检查服务器正在使用的文件:
将文件保存到服务器并在浏览器中打开,在输出中查找“Loaded Configuration File”指令以确定php.ini文件的位置。
检查您是否有权限编辑php.ini文件:请确保您有权限编辑php.ini文件。如果您不是该文件的所有者,则可能需要使用sudo来编辑它。
检查语法错误:确保php.ini文件中没有语法错误。您可以通过运行以下命令来检查语法错误:
用php.ini文件的实际路径替换
/path/to/php.ini
。如果有语法错误,您需要在更改生效之前更正它们。清除任何操作码缓存:如果您有操作码缓存,如APC或OPcache,您可能需要在php.ini文件的更改生效之前清除它。您通常可以通过重新启动Web服务器或使用该高速缓存的内置函数来清除操作码缓存。
检查您的更改是否位于正确的节中:确保您的更改位于php.ini文件的正确部分。例如,如果您尝试更改
max_execution_time
指令,请确保它位于文件的**[PHP]**部分。重新启动Web服务器:最后,确保在修改php.ini文件后重新启动Web服务器。根据服务器配置,您可能需要重新启动Web服务器和PHP FPM进程。