php.ini 在服务器重新启动后不反映更改

问题描述 投票:0回答:3

我需要更改 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 文件中的值,然后重新启动 apache2,但它们没有反映。

我运行

php --ini
命令来查看任何其他 php.ini 文件并获得以下文件夹:

/etc/php/7.0/cli

/etc/php/7.0/apache2

/etc/php/7/0/fpm

因此更改了所有 php.ini 文件中的值,然后重新启动 apache2 和 php7.0-fpm,但没有效果。

我很困惑,因为我的应用程序的“加载的配置文件”正在使用 php 5.6.30,它位于

/opt/php-5.6.30
文件夹中,没有任何
apache2
文件夹,并且 php-fpm 指向
/etc/php/7.0
文件夹。

apache 和 php-fpm 服务重新启动后的这些 ini 文件实际上都没有反映我的更改。

任何建议/指示将不胜感激。

php apache php-5.6 fpm
3个回答
1
投票

我认为问题在于您对 php-fpm (web) 和 cli 使用了不同的 php 版本。您应该创建 test.php 文件,并在那里运行 phpinfo()。并检查网页版加载的 php.ini 所在位置。您应该从网络访问 test.php,例如 https://example.com/test.php


0
投票

如果您对 php.ini 文件进行了更改,但即使重新启动服务器后,更改也没有得到反映,您可以尝试以下操作:

检查您是否正在编辑正确的 php.ini 文件:确保您正在编辑服务器正在使用的正确 php.ini 文件。您可以通过创建包含以下内容的 PHP 文件来检查您的服务器正在使用哪个文件:

<?php
 phpinfo();
?>

将文件保存到您的服务器并在浏览器中打开它。在输出中查找“加载的配置文件”指令以确定 php.ini 文件的位置。

检查您是否有编辑 php.ini 文件的权限:确保您有编辑 php.ini 文件的权限。如果您不是文件的所有者,您可能需要使用 sudo 来编辑它。

检查语法错误:确保 php.ini 文件中没有语法错误。您可以通过运行以下命令来检查语法错误:

php -c /path/to/php.ini -l

/path/to/php.ini
替换为 php.ini 文件的实际路径。如果存在语法错误,您需要更正它们才能使更改生效。

清除所有操作码缓存:如果您有操作码缓存,例如 APC 或 OPcache,则可能需要在 php.ini 文件的更改生效之前清除它。您通常可以通过重新启动网络服务器或使用缓存的内置功能来清除操作码缓存。

检查您的更改是否位于正确的部分:确保您的更改位于 php.ini 文件的正确部分。例如,如果您尝试更改

max_execution_time
指令,请确保它位于文件的 [PHP] 部分。

重新启动您的 Web 服务器:最后,请确保在更改 php.ini 文件后重新启动您的 Web 服务器。根据您的服务器配置,您可能需要重新启动 Web 服务器和 PHP FPM 进程。


0
投票

我遇到了同样的问题,重新启动 apache2 不起作用。

然后我只是重新启动计算机,它就接受了更改。

不知道为什么只重启apache2不起作用,这很烦人。我很想知道如何在不重新启动计算机的情况下执行此操作。

© www.soinside.com 2019 - 2024. All rights reserved.