使用 xampp 时如何为 PHP CLI 设置 memory_limit

Jon*_*ond 6 php command-line-interface

我曾尝试在 php.ini 中设置限制,但我总是遇到相同的错误:

第 0 行的 Unknown 中允许的内存大小为 262144 字节(尝试分配 341351 字节)

我可以通过调用php -d memory_limit=2048Mscript.php来解决这个问题

但无法弄清楚如何处理作曲家。

NVR*_*VRM 11

作为PHP-CLI有不同的 ini 文件,这通常会导致配置错误。

\n

对于 \xc2\xab unix shebang \xc2\xbb PHP我们能做什么 shell 脚本,我们可以做的是直接在 shebang 行上动态设置 ini 键,如下所示:

\n
#!/usr/bin/php -d memory_limit=512M\n<?php\nphpinfo();\nexit;\n
Run Code Online (Sandbox Code Playgroud)\n

然后查看 php 是否理解,使用phpinfo()

\n
./myphpProg | grep memory\n
Run Code Online (Sandbox Code Playgroud)\n

正确的 shell 输出应包含:

\n
memory_limit => 512M => 512M\n
Run Code Online (Sandbox Code Playgroud)\n
\n

man php

\n
\n

-d foo[=bar] Define INI entry foo with value bar

\n
\n
\n

在不使用 Unix shebang 机制的情况下,我们同样可以-d在命令行中传递一个(或多个)参数,或者专门的启动脚本:

\n
php -d memory_limit=512M myphpProg\n
Run Code Online (Sandbox Code Playgroud)\n


Sah*_*ati 4

ini_set("memory_limit", "2048M");将其添加到PHP 脚本中PHP 代码的最顶部 。确保memory_limit根据您的需要增加。

如果您继续收到此类错误消息exhausted memory。您可以使用ini_set("memory_limit", "-1");。这会将您的内存限制设置为无限制。

注意:这会将您的内存限制设置为无限制。内存限制取决于您OSRAM不是PHP

注意:另请确保您是否在 PHP 脚本中在生产环境中执行某些操作,其工作是继续向脚本添加数据,无论是在静态变量(示例:) gathering multiple CSV's data还是某些数组中,然后它可能会导致如果内存完全耗尽,则该 VM 或 PHP 进程会发生故障。