我们可以直接从命令行增加 PHP 的内存限制吗?

1 php command-line apache2 ram 18.10

我们可以直接从命令行增加 PHP 的内存限制吗?

我的 ubuntu 系统上安装了多个 PHP,并且我使用一个简单的php-switch-scripts脚本来设置和在 PHP 版本之间切换。

但我经常遇到 php.ini 配置值遇到一些问题的情况。

例如,我会在 PHP 7.2 的php.ini上将memory_limit值更新为更高的值,但在 PHP 7.4 的 php.ini 上可能不会增加它。

是的,我确实知道我可以在比写这个问题更短的时间内更新所有 php.ini 文件中的值,但如果有一种方法可以使用 shell 脚本自动执行此操作,我想这样做。以便我和我的同事将来都能利用它。

提前致谢...

小智 6

如果您确实致力于解决问题,那么您几乎可以通过命令行执行任何操作。不过,对于您想要做的事情,几个简单的命令可以帮助您实现目标:grepsed理想情况下 cp

要查看某物的当前值,请使用grep

grep '^memory_limit ' /etc/php/7.4/apache2/php.ini
Run Code Online (Sandbox Code Playgroud)

请务必替换7.4为您当时想要查看的任何版本。

要替换现有值,请使用sed

sed -i 's,^memory_limit =.*$,memory_limit = 8192M,' /etc/php/7.4/apache2/php.ini
Run Code Online (Sandbox Code Playgroud)

再次,替换7.4为您要更新的版本,并将荒谬8192M位替换为您要设置的实际值。

完成后,使用以下命令重新启动 Apache:

sudo service apache2 restart
Run Code Online (Sandbox Code Playgroud)

您现在已经具备了编写自定义脚本以实现您的目标所需的所有基本元素,并且也许还可以通过使其适用于任何有效设置来更进一步。例如:

./setPHPvariable 7.4 memory_limit 128M
./setPHPvariable 7.2 max_execution_time 300
Run Code Online (Sandbox Code Playgroud)

请注意,最好php.ini在进行更改之前创建文件的备份。这就是cp你的朋友所在的地方。