You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Mac 10.13编译PHP7添加--with-ldap时提示找不到php_pdo_driver.h怎么办?

解决Mac 10.13.4编译PHP 7.2.5带LDAP扩展的PDO检测错误

我之前在Mac环境编译PHP扩展时碰到过几乎一模一样的问题,你的错误本质是configure脚本在检测PDO依赖时,因为参数冲突或路径缺失导致解析失败,而添加LDAP参数触发了这个检测逻辑。下面是针对性的解决步骤:

1. 先补全系统依赖

Mac原生的OpenLDAP库可能不全,编译PHP LDAP扩展需要完整的开发库,用Homebrew安装最方便(没装Homebrew的话先装一个):

brew install openldap

安装完后,OpenLDAP的路径一般是/usr/local/opt/openldap,记下来后面要用。

2. 调整configure命令,明确指定PDO头文件路径

你遇到的Cannot find php_pdo_driver.h是因为configure没找到PHP源码里自带的PDO头文件,加上LDAP参数后这个检测逻辑被触发但路径没走对。修改你的configure命令,加上--with-pdo-include-dir指定源码内的PDO目录,同时用Homebrew的OpenLDAP路径:

./configure --prefix=/usr/local/php7 \
--with-apxs2=/usr/local/apache-2.4.33/bin/apxs \
--enable-exif \
--with-mysqli \
--with-curl \
--enable-ftp \
--with-gd \
--enable-mbstring \
--with-openssl=/usr/local/openssl \
--enable-sockets \
--with-zlib \
--with-ldap=/usr/local/opt/openldap \
--with-ldap-sasl \
--with-pdo-include-dir=./ext/pdo

这里--with-pdo-include-dir=./ext/pdo直接指向PHP源码里的PDO头文件位置,彻底解决找不到文件的问题;指定Homebrew的OpenLDAP路径也能避免原生库的缺失问题。

3. 清理编译缓存后重新编译

之前的configure可能留下了错误的缓存,先清理干净:

make clean
./buildconf --force

然后执行上面修改后的configure命令,接着编译安装:

make
sudo make install

4. 验证扩展是否生效

安装完成后,用下面的命令检查LDAP扩展是否加载:

/usr/local/php7/bin/php -m | grep ldap

如果输出ldap,说明扩展安装成功。重启Apache后,WordPress的LDAP登录插件就能正常识别这个扩展了。


内容的提问来源于stack exchange,提问作者Bripakes

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.28 07:27:02