Я столкнулся с действительно странной проблемой. Я отлаживал сценарий ошибки сервера 500 на нашем экземпляре EC2 и обнаружил, что у нас не установлены загрузчики ioncube. Я пошел установить их и создал новый файл в /etc/php.d/zend.ini
и изначально я вставил значение extension=/usr/local/ioncube/ioncube_loader_lin_5.3.so
и перезапустил httpd, после чего он сказал мне:
The ionCube Loader is a Zend-Engine extension and not a module
Please specify the Loader using 'zend_extension' in php.ini
PHP Fatal error: Unable to start ionCube Loader module in Unknown on line 0
Поэтому я изменил содержимое zend.ini на zend_extension = / usr / ... и т. Д. Теперь, когда я пытаюсь перезапустить httpd, я получаю эту ошибку:
Starting httpd: (98)Address already in use: make_sock: could not bind to address [::]:80
(98)Address already in use: make_sock: could not bind to address 0.0.0.0:80
no listening sockets available, shutting down
Unable to open logs
Я даже не могу бежать /etc/init.d/httpd stop
без ошибок. С тех пор я удалил zend.ini, чтобы проверить, не это ли вызвало это, а похоже, что это не так.
Любые идеи?
Если в соответствии с предложением Дэвида Шварца ничего не слушает порт 80, проблема, скорее всего, в том, что у вас два Listen 80
директивы в вашей конфигурации Apache. Они могут не находиться рядом друг с другом или даже не в одном файле.
Пытаться grep -r Listen /etc/httpd
найти их и удалить один из них.
Zend-сервер нужно удалить
yum zend-server remove
удалять
rm -f /var/lock/subsys/httpd
закрыть процесс httpd
ipcs -s | grep apache | perl -e 'while (<STDIN>) { @a=split(/\s+/); print `ipcrm sem $a[1]`}'
Посмотреть статус apache
/etc/init.d/httpd status
Затем запустите apache
/etc/init.d/httpd start