MAMP Pro本地PHP/Laravel网站加载缓慢且时好时坏求助
MAMP Pro本地PHP/Laravel网站加载缓慢且时好时坏求助
兄弟,这种时好时坏的诡异卡顿真的太磨人了!我之前在Mac环境下折腾MAMP的时候也碰到过类似的问题,结合你已经排查过的点,给你几个针对性的方向试试:
排查DNS解析的坑
纯HTML加载正常、CLI命令(比如php artisan migrate)也没问题,但Web端PHP慢,很大概率是PHP在解析主机名的时候卡住了。- 先检查
/etc/hosts文件,确认有没有正确配置:127.0.0.1 localhost ::1 localhost - 然后刷新Mac的DNS缓存,执行命令:
sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder - 另外看看MAMP Pro的Hosts配置面板,有没有给本地站点设置了外部DNS解析,改成“Use local DNS”试试。
- 先检查
检查PHP opcache的冲突问题
虽然你试过开关缓存,但CLI和Web端的opcache配置可能不一致导致卡顿:- 打开MAMP Pro的PHP设置,找到opcache相关选项,确认
opcache.enable和opcache.enable_cli的设置。比如Web端的opcache如果开启了但配置有问题,可能会导致脚本编译卡住,而CLI模式下不受影响。可以临时关闭Web端的opcache,测试加载速度是否稳定。
- 打开MAMP Pro的PHP设置,找到opcache相关选项,确认
查看Web服务器的连接数与日志
当网站进入“慢模式”时,立刻去看MAMP的日志文件:- Apache的
error.log或者Nginx的error.log里,有没有出现“连接数过多”“超时”之类的报错? - 可以调整Apache的
MaxKeepAliveRequests(调大,比如设为1000)、KeepAliveTimeout(调小,比如设为5);或者Nginx的worker_connections(调大)、keepalive_timeout(调小),减少请求排队的情况。
- Apache的
监控系统资源占用
卡顿的时候打开Activity Monitor,重点看这几个进程:- httpd(Apache)、php-fpm(如果用FPM模式)、postgres的CPU、内存、磁盘IO占用。有没有某个进程突然占用大量资源?比如Postgres在自动执行vacuum清理,或者PHP进程内存泄漏导致堆积?
- 另外检查Mac的隐私设置,在「系统偏好设置-安全性与隐私」里,确认MAMP相关进程有没有被允许访问磁盘和网络,权限不足也可能导致执行卡顿。
排查防火墙/杀毒软件的干扰
有时候Mac自带的防火墙或者第三方杀毒软件会误拦截MAMP的Web请求,导致延迟。试试临时关闭防火墙,或者暂停杀毒软件,测试网站加载是否恢复正常。检查PHP-FPM进程状态(如果用FPM模式)
如果你切换到了PHP-FPM模式,可以开启FPM的状态页面来排查:- 在MAMP的PHP-FPM配置里添加状态路径,比如
pm.status_path = /php-fpm-status,然后重启FPM,访问http://localhost/php-fpm-status,看看有没有进程挂死、异常等待的情况。
- 在MAMP的PHP-FPM配置里添加状态路径,比如
如果以上方法都没解决,建议把MAMP的Apache/PHP/Postgres的日志导出,重点看慢请求对应的日志条目,里面大概率会有更详细的报错提示,帮你定位问题!
备注:内容来源于stack exchange,提问作者Arturo
相关产品推荐
相关产品推荐

