我正在尝试使用以下行编译支持 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.ini
phpinfo 可获得:
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 并开始使用它..