PHP致命错误:require():无法解锁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错误日志可能包含

我在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锁

$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秒):

1
sudo pecl卸载apc

2
sudo pecl安装apc

但是
将已经为pthread互斥体填充的
否更改为


将已经为pthread read/write locks填写的
yes
更改为
no

有东西锁定了apache子级,阻止它退出,阻止apache重新启动/绑定到端口80,因为上一个实例中的子对象仍然是绑定的。如果没有任何代码,我们无法帮助您。错误可能会链接到任何带有php require
define的行(“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很有效。我以前有很多死锁,现在一个也没有了。