【问题标题】:PHP CLI on OSX ignores php.ini settingsOSX 上的 PHP CLI 忽略 php.ini 设置
【发布时间】:2017-06-04 11:30:27
【问题描述】:

我的 Mac OSX 上的 PHP CLI 忽略 memory_limit 设置。 我使用

找到了 php.ini
php -i | grep php.ini

然后我修复了它:

memory_limit = 1024M

我什至重新启动了 Apache

sudo apachectl restart

但当我跑步时仍然

php -i | grep memory_limit

我明白了

memory_limit => 256M => 256M

可能是什么? 提前谢谢!!!

【问题讨论】:

  • 寻找Loaded Configuration File,它会告诉你它实际加载的php.ini
  • Loaded Configuration File => /usr/local/php5/lib/php.ini 我完全编辑了这个文件,但没有任何反应。
  • 哦,顺便说一句,因为您使用的是 CLI(命令行界面),所以没有必要重新启动 Apache,因为它不涉及
  • 让我们从头开始。你想通过增加memory_limit 来解决什么问题,并显示任何让你认为增加这个会有所帮助的错误
  • 作曲家内存不足是很常见的问题。现在我使用 -d 选项运行它。例如:php -d memory_limit=-1 /usr/bin/composer install 但我想在没有“手鼓跳舞”的情况下运行它:)

标签: php macos command-line-interface memory-limit


【解决方案1】:

如果你运行这个命令

php --info | grep additional

你可能会看到这样的结果:

Scan this dir for additional .ini files => /usr/local/php5/php.d

这表明您的 PHP 安装也在扫描一个额外的 .ini 文件文件夹,这些文件将增加您的配置 - 通常这些用于扩展,但其中任何一个都可以覆盖您加载的 php.ini 文件中的设置。检查这些是否覆盖了您的 memory_limit:

cd /usr/local/php5/php.d
grep memory_limit *

在我的例子中,我有一个开发者扩展文件将 memory_limit 重置为 256M,这意味着在 php.ini 中进行更改没有任何效果。也许这就是您遇到的问题。

【讨论】:

  • 我已经为此苦苦挣扎多年,终于发现这是问题所在,谢谢!有一些 99-liip-developer.ini 文件覆盖了一些东西。
【解决方案2】:

CLI PHP 使用的 php.ini 可能与 Apache 使用的不同,但您可以在命令行中指定要使用的 ..

php -c path/to/php.ini>|/path/to/php-file-to-run.php 

【讨论】:

  • 我真的认为我们在 cmets 中涵盖了这一点
  • 那么,这不是答案。我只是想解决一下问题,例如;指定使用哪个 php.ini
【解决方案3】:

尝试在此文件上查找:

/usr/local/php5/php.d/99-liip-developer.ini # in my case 99- but i think it could be another number

并设置:

memory_limit = -1 #or another value to specify the limit Ex: 521M

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-10-10
    • 1970-01-01
    • 2015-11-24
    • 2013-04-04
    • 2012-01-11
    相关资源
    最近更新 更多