有什么方法可以启用MAMP中PHP随附的LDAP模块的SASL支持吗?

时间:2018-08-09 17:58:18

标签: php ldap mamp

最近遇到一个障碍,客户端正在将以前使用端口389(aka:ldap://)的一些基于PHP的LDAP代码的代码和连接切换到端口636(aka:ldaps://)。该代码在生产和预览服务器上工作正常,但是在我的MAMP本地开发设置上却死定了。

当我将代码克隆到本地开发计算机上并在MAMP中启动时,除了通过端口636进行的LDAP连接外,其他所有功能都起作用。错误日志非常无用,仅显示如下行:“ Segmentation fault”错误:

[Thu Aug 02 14:13:10 2018] [notice] child pid 13220 exit signal Segmentation fault (11)
[Thu Aug 02 14:16:33 2018] [notice] child pid 13245 exit signal Segmentation fault (11)
[Thu Aug 02 14:16:33 2018] [notice] child pid 13244 exit signal Segmentation fault (11)
[Thu Aug 02 14:16:33 2018] [notice] child pid 13242 exit signal Segmentation fault (11)
[Thu Aug 02 14:16:39 2018] [notice] child pid 13218 exit signal Segmentation fault (11)
[Thu Aug 02 14:18:21 2018] [notice] child pid 13363 exit signal Segmentation fault (11)
[Thu Aug 02 14:18:21 2018] [notice] child pid 13301 exit signal Segmentation fault (11)
[Thu Aug 02 14:18:21 2018] [notice] child pid 13219 exit signal Segmentation fault (11)

由于我正在使用MAMP进行本地开发,因此一切看起来都很干净,因此我检查了phpinfo()中的设置,并看到了类似这样的内容:

OpenLDAP in MAMP PHP 7.0.8

该屏幕截图来自MAMP中的PHP 7.0.8信息,但与PHP 5.6.10,PHP 7.1.19和PHP 7.2.7相同或相似。这是代码运行所在的服务器的屏幕截图,该服务器在Ubuntu 14.04上运行PHP 5.5.9;请注意,“ SASL支持”已按预期启用:

OpenLDAP in PHP in Untuntu 14.04

如果将两者进行比较,很明显,罪魁祸首是缺乏“ SASL支持”。但是,是否有任何方法可以使MAMP使用缺少“ SASL支持”而无需重新编译源代码的LDAP模块?

检查phpinfo()中使用的PHP配置化合物表明--with-ldap用于MAMP和Ubuntu安装。但是只有Ubuntu安装会显示--with-ldap--with-ldap-sasl的configure选项。

是的,我知道macOS不存储本地CA证书,因此我需要从钥匙串中导出或在TLS_REQCERT never文件中设置/etc/openldap/ldap.conf。但是我至少想要一些基本功能来处理MAMP中的SSL LDAP连接,而又不注视无休止的“分段错误”填充日志。

0 个答案:

没有答案