【发布时间】:2012-11-09 21:00:49
【问题描述】:
我在 Debian Linux 上使用 LAMP。 Apache 2.2.22-12,PHP 5.4.4。
有时我收到此错误,然后我无法重新加载页面或打开页面,其中包括带有此错误的文件。出现此类错误后,我无法重新启动 apache
重新启动网络服务器: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
和主机日志:
[2012 年 11 月 21 日星期三 12:21:24] [错误] [客户端 127.0.0.1] PHP 致命错误:require():无法解锁 ~/www/yii/yii-1.1.11.58da45/ 中的 pthread 锁framework/base/CApplication.php 第 127 行
有
$config=require($config);
或者:
[2012 年 11 月 14 日星期三 21:04:26] [错误] [客户端 127.0.0.1] PHP 致命错误:require_once():无法在 ~/projects/politiya/index.php 第 14 行解锁 pthread 锁
有:
require_once($game_loader);
我已经删除了 php-apc,现在 lamp 工作正常。
【问题讨论】:
-
某事锁定了 apache 子节点,阻止它退出,并阻止 apache 重新启动/重新绑定到端口 80,因为来自前一个实例的子节点仍被绑定。没有任何代码,我们无法为您提供帮助。
-
这个错误可以链接到任何带有 php-require 的行
-
define("GAME_PATH", dirname(__FILE__) . DIRECTORY_SEPARATOR . 'game'); define("ENGINE_PATH", dirname(__FILE__) . DIRECTORY_SEPARATOR . 'engine'); $config = ENGINE_PATH . '/config/game.php'; $game_loader = ENGINE_PATH . '/loader.php'; -
看起来像是与 apc 相关的东西。您的确切错误消息显示在此处:uni-jena.de/bin/tool/APC/APC/apc_pthreadmutex.c
-
所以,出现这个错误后启动 apache 的唯一方法就是重启所有系统,这不是很好