Я работаю с сервером рабочий 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
Я реализовал все необходимые конфигурации (httpd.conf, и т.д.) к Apache 2.4, чтобы включить Совершенную прямую секретность и включить все необходимые модули (я думаю). Я намеренно установил Apache 2.4 в другой каталог от Apache 2.2 так, чтобы я мог завершить работу Apache 2.2 и запустить Apache 2.4 (это - рабочий сервер, не могите позволить себе время простоя). Все работает отлично, когда я запускаю Apache 2.4, кроме соединения с сервером LDAP с помощью PHP. Никакие ошибки не брошены, это просто не работает; это похоже, это испытывает таймаут. Странная вещь состоит в том, что, когда я переключаюсь назад на Apache 2.2, LDAP в PHP работает просто великолепно. Кто-либо знает, почему это может происходить?
В конце концов, я разобрался с этим сам. На самом деле проблема была в разрешениях на файлы/папки; у меня есть скрипт, использующий execute() hack для пингования нескольких LDAP-серверов, и функция ping не смогла записать в папку tmp. LDAP работал нормально все это время, это и было источником проблемы.
.