PHP致命错误:require():无法解锁pthread锁
我在DebianLinux上使用LAMP。Apache2.2.22-12,PHP5.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][error]子进程1309仍然没有退出,正在发送SIGKILL [Wed Nov 21 15:07:57 2012][error]子进程1310仍然没有退出,正在发送SIGKILL [Wed Nov 21 15:07:57 2012][error]子进程1311仍然没有退出,正在发送SIGKILL 和主机日志: [Wed Nov 21 12:21:24 2012][error][client 127.0.0.1]PHP致命错误:require():无法在第127行的~/www/yii/yii-1.1.11.58da45/framework/base/capapplication.PHP中解锁pthread锁 有PHP致命错误:require():无法解锁pthread锁,php,apache,apache2,Php,Apache,Apache2,我在DebianLinux上使用LAMP。Apache2.2.22-12,PHP5.4.4 有时我会出现此错误,然后我无法重新加载页面或打开页面,其中包括出现此错误的文件。在出现这样的错误之后,我无法重新启动apache 重新启动web服务器:apache2(98)地址已在使用:make_sock:无法绑定到地址[:]:80 (98)已在使用的地址:make_sock:无法绑定到地址0.0.0.0:80 没有可用的侦听套接字,正在关闭 无法打开日志 操作“启动”失败 Apache错误日志可能包含
$config=require($config);
或:
[Wed Nov 14 21:04:26 2012][error][client 127.0.0.1]PHP致命错误:require_once():无法在第14行的~/projects/politiya/index.PHP中解锁pthread lock
有:
require_once($game_loader);
我已经删除了php apc,现在lamp工作正常。发生此错误是因为apc中存在“死锁错误”。 A说,这个错误在APC 3.1.8中已经修复
我们还可以看到APC更改日志这意味着某些进程正在使用此端口运行,因此请尝试终止该进程 我喜欢这个过程 例如:ps-ef | grep httpd 然后终止进程 eg kill-9进程ID -----------------------或---------------------- 端口80被另一个服务使用,因此请查找并更改system-conf-httpd.conf:system-conf-httpd.conf system-conf-httpd.conf。所有这些,重新启动httpd: /etc/init.d/httpd start仅供参考(针对OMG对APC版本错误的评论),我正在运行APC 3.1.13和PHP5.4.17,但仍然存在错误:
unable to obtain pthread lock (EDEADLK)
修理
如前所述,我必须快速卸载并重新安装apc(literaly需要5秒):
1sudo pecl卸载apc
2sudo pecl安装apc
但是
将已经为pthread互斥体填充的否更改为是
和
将已经为pthread read/write locks填写的yes
更改为no
有东西锁定了apache子级,阻止它退出,阻止apache重新启动/绑定到端口80,因为上一个实例中的子对象仍然是绑定的。如果没有任何代码,我们无法帮助您。错误可能会链接到任何带有php requiredefine的行(“GAME_PATH”,dirname(u FILE_u).DIRECTORY_SEPARATOR.'GAME');定义(“引擎路径”,目录名(uuu文件)。目录_分隔符。'ENGINE')$配置=引擎路径/config/game.php'$游戏加载程序=引擎路径/php'代码>看起来与apc相关。您的确切错误信息显示在这里:因此,在发生此错误后启动apache的唯一方法是重新启动所有系统,这不是很好。我有相同的问题,这对于APC 3.1.13是可以修复的,请参阅答案谢谢,它对APC 3.1.13很有效。我以前有很多死锁,现在一个也没有了。