能够配置/编译 PHP --with-ldap,但 LDAP 未在 phpinfo() 中列出

能够配置/编译 PHP --with-ldap,但 LDAP 未在 phpinfo() 中列出

我正在尝试使用以下行编译支持 LDAP 的 PHP:

./configure --prefix=/app/php --with-ldap=/usr     
sudo make     
sudo make install

一切似乎都安装正常,没有问题,并且 PHP 运行良好,但是当我运行 phpinfo 时,我没有看到列出的 LDAP。

另外,我在某处读到我可以使用 php 的 ext 目录中的 ldap.so 文件并从 php.ini 中引用它...?如何为 php 生成 ldap.so 文件...?

有什么想法吗?我在 Mac OS X 10.5.8,php 5.2.17 上。

更新:

我使用了以下标志组合:

--with-ldap
--with-ldap=/usr
--with-ldap=/usr,shared
--with-ldap=shared

其中,“--with-ldap=shared”生成一个 ldap.so,当将其放入 php 的 ext 目录时,Apache 会出现以下错误:

PHP Warning:  PHP Startup: Invalid library (maybe not a PHP library) 'ldap.so'  in Unknown on line 0

我已经在 Google 上搜索过这个错误,但没有找到更多方法可以解决这个问题。任何非常感谢您的帮助!

非常感谢!

知识管理

答案1

运行后,configure您需要查看 config.log 以确保 php 正确找到 ldap。

无需输入任何内容php.ini。在 Linux 机器上,仅使用--with-ldap和 没有php.iniphpinfo 可获得:

ldap

LDAP Support => enabled
RCS Version => $Id: ldap.c 293036 2010-01-03 09:23:27Z sebastian $
Total Links => 0/unlimited
API Version => 3001
Vendor Name => OpenLDAP
Vendor Version => 20343

答案2

如果您使用 ldap 编译 php,它会在 ext 目录中生成 ldap.so 文件,接下来您要做的就是通过 php.ini 激活它(phpinfo() 页面中的 php.ini 文件的路径)

;扩展=php_ldap.so

取消注释此行以启用 php 的 ldap 模块

重新启动 apache 并开始使用它..

相关内容