Mac端MAMP PRO启用pdo_pgsql.so、pgsql.so后phpinfo无显示问题求助
排查&解决步骤
- 第一步:确认Web端PHP加载的配置文件路径
新建phpinfo.php文件,写入以下内容:
放到MAMP网站根目录后通过浏览器访问,查看页面里<?php phpinfo(); ?>Loaded Configuration File对应的路径,确认是否和CLI查询到的/Applications/MAMP/bin/php/php5.6.31/conf/php.ini一致。 - 第二步:修复MAMP PRO配置模板覆盖问题
MAMP PRO每次重启会用内置模板覆盖静态php.ini文件,手动修改静态配置不生效是最常见原因:- 打开MAMP PRO,点击顶部菜单栏「File > Edit Template > PHP > PHP 5.6.31 php.ini」
- 在模板中找到扩展配置段,确保以下两行已取消注释、路径正确:
extension_dir = "/Applications/MAMP/bin/php/php5.6.31/lib/php/extensions/no-debug-non-zts-20131226/" extension=pgsql.so extension=pdo_pgsql.so- 保存模板后,完全重启MAMP PRO所有服务,再查看phpinfo。
- 第三步:验证扩展文件有效性与依赖
如果修改模板后仍不生效,在终端执行以下命令排查:- 确认CLI端PHP版本和扩展加载状态:
若CLI能打印出pgsql、pdo_pgsql,仅Web端不显示,说明是MAMP Web服务的权限或配置问题,回到第二步确认模板修改正确即可。php -v php -m | grep pgsql
2. 检查扩展文件存在性与权限:
正常会返回两个.so文件,权限至少为ls -l /Applications/MAMP/bin/php/php5.6.31/lib/php/extensions/no-debug-non-zts-20131226/ | grep pgsql644,所有者为当前Mac登录用户。
3. 检查扩展依赖是否缺失:
若输出中存在otool -L /Applications/MAMP/bin/php/php5.6.31/lib/php/extensions/no-debug-non-zts-20131226/pgsql.sonot found的依赖(通常是libpq.5.dylib),可通过Homebrew安装libpq解决:brew install libpq - 额外提示:PHP 5.6早已停止官方维护,若业务允许建议更换MAMP内置更高版本的PHP,对应pgsql扩展默认配置更完善,无需手动调整即可生效。
内容的提问来源于stack exchange,提问作者radren
相关产品推荐
相关产品推荐

