Apache 2.4 与 PHP 5.5 配合使用,PHP 中的 LDAP 不起作用

Apache 2.4 与 PHP 5.5 配合使用,PHP 中的 LDAP 不起作用

我正在使用运行 Debian 7.4 的服务器,它当前运行的是 PHP 5.5.12 和 Apache 2.2.22。我正尝试升级到 Apache 2.4.9,以便可以启用完美前向保密。

我下载了 Apache 2.4.9 作为源代码,并使用以下标志成功对其进行了编译:

./configure --enable-so --with-included-apr --with-pcre --with-ldap --with-perl

我还下载了 PHP 5.5.12 作为源代码并使用这些标志进行编译:

./configure --with-apxs2=/usr/local/apache2/bin/apxs --with-pdo-mysql=mysqlnd --with-openssl --with-gd --with-zlib --enable-shmop --enable-sockets --enable-sysvsem --enable-sysvshm --enable-mbstring --with-iconv --with-litespeed --with-ldap --with-mcrypt

我已经对 Apache 2.4 进行了所有必要的配置(httpd.conf 等),以启用完美前向保密并启用所有必要的模块(我认为)。我故意将 Apache 2.4 安装到与 Apache 2.2 不同的目录中,以便我可以关闭 Apache 2.2 并启动 Apache 2.4(它是生产服务器,不能承受停机时间)。当我启动 Apache 2.4 时,一切都运行良好,除了使用 PHP 连接到 LDAP 服务器。没有抛出任何错误,它根本不起作用;就像是超时了一样。奇怪的是,当我切换回 Apache 2.2 时,PHP 中的 LDAP 工作正常。有人知道为什么会发生这种情况吗?

答案1

我最终自己解决了这个问题。问题实际上是文件/文件夹权限;我有一个脚本,它使用 exec() hack 来 ping 多个 LDAP 服务器,而 ping 函数无法写入 tmp 文件夹。LDAP 一直运行良好,这就是问题的根源。

相关内容