use*_*743 4 memory php php-cli php.ini
我正在使用 drush,这是一个用于管理 drupal 网站的命令行 php 应用程序。我正在运行一个命令来导入大量数据,这导致我达到了 php 的内存限制。
PHP Fatal error: Allowed memory size of 536870912 bytes exhausted ...
Run Code Online (Sandbox Code Playgroud)
如果我正确地进行数学运算,则为 512MB (536870912 / 1024 / 1024 = 512)。我已经更改了 drush 使用的 php.ini 中的指令:
$> drush status
...
PHP configuration : /etc/php5/cli/php.ini
$> grep memory /etc/php5/cli/php.ini
; Maximum amount of memory a script may consume (128MB)
; http://php.net/memory-limit
memory_limit = 1024M
Run Code Online (Sandbox Code Playgroud)
但我仍然达到 512 MB 的限制!我在虚拟机中运行,我将其内存设置从 512 MB 的 RAM 更改为 1025 MB,以允许 drush 运行。
$> free -m
total used free shared buffers cached
Mem: 1010 578 431 0 14 392
-/+ buffers/cache: 172 837
Swap: 382 0 382
Run Code Online (Sandbox Code Playgroud)
所以它说它有大约 431 MB 可用空间,现在我已经将 vm 提高到 1024。我猜一半的内存用于运行 GUI,但我不明白当 vm 时 GUI 是如何正常运行的有 512 MB 的内存。
为什么 PHP cli 仍然达到 512 MB 内存限制?如果它达到系统内存限制,它不应该死在 431MB 左右,这就是free
命令所说的可用吗?
最有可能的是,您有多个 php.ini 文件(检查类似/etc/php5/cli
)并且正在编辑错误ini_set('memory_limit', '512M');
的settings.php
文件,或者您在文件或类似文件中包含了一个设置。
归档时间: |
|
查看次数: |
13579 次 |
最近记录: |