已经在使用的地址 – Amazon AWS

我遇到了一个很奇怪的问题。 我正在debuggingEC2实例的server 500错误脚本,发现我们没有安装ioncube loader。 所以我去安装它们,我在/etc/php.d/zend.ini创build了一个新文件,最初我插入了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,看看是否是由于这个原因造成的。

有任何想法吗?

如果根据David Schwartz的build议没有任何东西在端口80上进行监听,那么问题很可能是您的Apacheconfiguration中有两个Listen 80指令。 他们可能不是彼此靠近,甚至不在同一个文件中。

尝试grep -r Listen /etc/httpdfind它们并删除其中的一个。

Zend-server应该被删除

 yum zend-server remove 

去掉

 rm -f /var/lock/subsys/httpd 

closures进程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