PHP内存不足问题:Mac终端与MAMP php.ini配置不一致
解决Mac终端PHP内存限制与MAMP配置不一致的问题
看起来你遇到了典型的PHP版本路径冲突问题——终端里运行的php命令,调用的不是MAMP自带的PHP实例,而是系统默认或其他版本的PHP,所以它读取的不是你修改的MAMP下的php.ini文件,才会出现内存限制显示不一致、最终触发内存耗尽错误的情况。
下面是具体的解决步骤:
第一步:确认终端当前使用的PHP路径
打开终端执行:which php如果输出是
/usr/bin/php,说明用的是系统自带的PHP;如果不是MAMP的路径(比如/Applications/MAMP/bin/php/php5.5.26/bin/php),那核心问题就是版本不匹配。第二步:将MAMP的PHP路径加入环境变量
根据你使用的shell类型(bash或zsh,现在Mac默认是zsh),编辑对应的配置文件:- bash用户:编辑
~/.bash_profilenano ~/.bash_profile - zsh用户:编辑
~/.zshrcnano ~/.zshrc
在文件末尾添加一行(注意替换成你实际的MAMP PHP版本路径):
export PATH="/Applications/MAMP/bin/php/php5.5.26/bin:$PATH"保存并退出(按
Ctrl+O回车确认,再按Ctrl+X退出编辑器)。- bash用户:编辑
第三步:让环境变量立即生效
执行对应的命令:- bash用户:
source ~/.bash_profile - zsh用户:
source ~/.zshrc
- bash用户:
第四步:验证配置是否生效
先确认PHP路径已切换:which php输出应该显示为MAMP的PHP路径。再检查内存限制:
php -r "echo ini_get('memory_limit').PHP_EOL;"这时候应该会显示你设置的
1G了。
额外补充:如果重启终端后又变回系统PHP,说明环境变量配置没有持久生效,你可以重复第二步和第三步确认配置是否正确保存。如果还是触发内存耗尽错误,你可以尝试把MAMP php.ini里的memory_limit设置得更大(比如2G),确保配置后终端调用的是正确的PHP实例即可。
内容的提问来源于stack exchange,提问作者Patrick
相关产品推荐
相关产品推荐

