我在Debian Linux上使用LAMP。 Apache 2.2.22-12,PHP 5.4.4。
有时我收到此错误,然后我无法重新加载页面或打开页面,其中包含此错误的文件。在我遇到这样的错误后,我无法重启apache
重新启动web服务器:apache2(98)已在使用的地址:make_sock:无法绑定到地址[::]:80
(98)已经在使用的地址:make_sock:无法绑定到地址0.0.0.0:80 没有可用的侦听套接字,关闭
无法打开日志
行动'开始'失败。
Apache错误日志可能包含更多信息。 失败!
在apache日志文件中:
[Wed Nov 21 15:07:55 2012] [warn]子进程4020仍未退出,发送SIGTERM
[Wed Nov 21 15:07:55 2012] [warn]子进程4021仍未退出,发送SIGTERM
[Wed Nov 21 15:07:55 2012] [warn]子进程4022仍未退出,发送SIGTERM
[Wed Nov 21 15:07:57 2012] [错误]子进程1309仍未退出,发送SIGKILL
[Wed Nov 21 15:07:57 2012] [错误]子进程1310仍未退出,发送SIGKILL
[Wed Nov 21 15:07:57 2012] [错误]子进程1311仍未退出,发送SIGKILL
主持人日志:
[Wed Nov 21 12:21:24 2012] [错误] [client 127.0.0.1] PHP致命错误:require():无法在〜/ www / yii / yii-1.1.11.58da45 /解锁pthread锁定第127行的framework / base / CApplication.php
有
$config=require($config);
或者:
[Wed Nov 14 21:04:26 2012] [错误] [client 127.0.0.1] PHP致命错误:require_once():无法解锁第14行〜/ projects / politiya / index.php中的pthread锁< / p>
有:
require_once($game_loader);
我删除了php-apc,现在灯泡工作正常。
答案 0 :(得分:11)
如上所述here,我必须快速卸载并重新安装apc(文字需要5秒):
1 sudo pecl uninstall apc
2 sudo pecl install apc
BUT
将已经为pthread互斥锁填充的 no
更改为 yes
AND
将已填写pthread读/写锁的 yes
更改为 no
。
答案 1 :(得分:5)
由于APC中存在“死锁错误”,因此发生此错误。 一个php bug report page说,这个错误在APC 3.1.8
中得到修复我们也可以看到APC更改日志here
答案 2 :(得分:2)
仅仅是一个FYI(响应OMG关于APC版本错误的评论),我正在运行APC 3.1.13和PHP 5.4.17,我仍然遇到了这个错误:
unable to obtain pthread lock (EDEADLK)
答案 3 :(得分:-1)
这意味着正在运行的某个进程正在使用此端口,因此尝试终止该进程
喜欢获取流程
例如:ps -ef | grep httpd
然后杀死进程
例如kill -9进程ID
----------------------- OR ---------------------- < / p>
端口80被另一个服务使用,因此找到并更改system-config-httpd.conf:system-config-httpd.conf system-config-httpd.conf。所有这一切,重启httpd: /etc/init.d/httpd start