OSX Sierra - 如何正确增加 PHP 内存限制?

OSX Sierra - how to increase PHP memory limit correctly?

我需要在命令行上增加 PHP 的内存限制,以便我可以使用 Composer。

php -i | grep memory_limit

的输出

memory_limit => 256M => 256M

php --ini

的输出
Configuration File (php.ini) Path: /usr/local/php5/lib
Loaded Configuration File:         /usr/local/php5/lib/php.ini
Scan for additional .ini files in: /usr/local/php5/php.d
Additional .ini files parsed:      /usr/local/php5/php.d/10-extension_dir.ini,
/usr/local/php5/php.d/20-extension-opcache.ini,
/usr/local/php5/php.d/40-openssl.ini,
/usr/local/php5/php.d/50-extension-apcu.ini,
/usr/local/php5/php.d/50-extension-curl.ini,
/usr/local/php5/php.d/50-extension-gmp.ini,
/usr/local/php5/php.d/50-extension-igbinary.ini,
/usr/local/php5/php.d/50-extension-imap.ini,
/usr/local/php5/php.d/50-extension-intl.ini,
/usr/local/php5/php.d/50-extension-mcrypt.ini,
/usr/local/php5/php.d/50-extension-memcache.ini,
/usr/local/php5/php.d/50-extension-memcached.ini,
/usr/local/php5/php.d/50-extension-mongo.ini,
/usr/local/php5/php.d/50-extension-mssql.ini,
/usr/local/php5/php.d/50-extension-oauth.ini,
/usr/local/php5/php.d/50-extension-pdo_dblib.ini,
/usr/local/php5/php.d/50-extension-pdo_pgsql.ini,
/usr/local/php5/php.d/50-extension-pgsql.ini,
/usr/local/php5/php.d/50-extension-propro.ini,
/usr/local/php5/php.d/50-extension-raphf.ini,
/usr/local/php5/php.d/50-extension-readline.ini,
/usr/local/php5/php.d/50-extension-redis.ini,
/usr/local/php5/php.d/50-extension-solr.ini,
/usr/local/php5/php.d/50-extension-ssh2.ini,
/usr/local/php5/php.d/50-extension-twig.ini,
/usr/local/php5/php.d/50-extension-uploadprogress.ini,
/usr/local/php5/php.d/50-extension-xdebug.ini,
/usr/local/php5/php.d/50-extension-xhprof.ini,
/usr/local/php5/php.d/50-extension-xsl.ini,
/usr/local/php5/php.d/60-extension-pecl_http.ini,
/usr/local/php5/php.d/99-liip-developer.ini

所以我编辑 /usr/local/php5/lib/php.ini 但它总是 256MB...

重启Apache,还是cli,还是没有成功

其中一个包含的文件有一个 memory_limit 指令。使用此命令查找哪个:

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

稍后解析 "Additional .ini files parsed",并将覆盖主要 php.ini 中的设置。

也许你应该找出 php.ini 在哪里

有时这行不通:

php -i | grep php.ini   # turns out I just can't edit /etc/php.ini even when I'm root

那你可以试试这个:

locate php.ini  # turns out it's here: /private/etc/php.ini

最后,使用 sudo

编辑 /private/etc/php.ini
sudo vim /private/etc/php.ini 

保存文件
:wq!

任务完成。

我发现您需要更改此文件中的内存限制:

/usr/local/etc/php/*your php version*/conf.d/php-memory-limits.ini

修改此文件后效果非常好。