我已经删除了所有内容,并重新安装了 apache 2,并且它可以正常工作。
但是如果我安装 libapache2-mod-php5 那么 apache 将停止工作。
如果我再次删除 libapache2 ... 那么 apache 再次开始工作
我应该怎么办
Ubuntu 9.10
这是 apache 错误日志文件中的错误
PHP Warning: [eAccelerator] This build of "eAccelerator" was compiled for PHP version 5.2.6-3ubuntu4.4. Rebuild it for your PHP version (5.2.10-2ubuntu6.4) or download precompiled binaries.\n in Unknown on line 0
PHP Fatal error: Unable to start eAccelerator module in Unknown on line 0
答案1
apache2 启动失败了吗?你安装了 eaccelerator 吗?你最近升级了 php5 吗?如果是的话,我可能知道你的问题的答案。
这一切都始于我通过 Webmin 升级 Ubuntu 服务器上的一些软件包。我认为其中一个软件包是 php5。
无论如何,看到我升级了与 Apache2 相关的软件包,我重新启动了 apache2 服务。然后我遇到了以下错误消息:
1.
Failed to start apache :
2.
3.
* Starting web server apache2
4.
(98)Address already in use: make_sock: could not bind to address 0.0.0.0:80
5.
no listening sockets available, shutting down
6.
Unable to open logs
7.
...fail!
因此看起来 apache2 无法启动,因为该地址已被使用。
我相信错误可能是从 Webmin 启动 apache2 导致的,因此我打开了一个控制台窗口,并尝试使用以下命令从命令行启动 apache2
1.
sudo /etc/init.d/apache2 restart
但是,apache2 仍然没有启动,并且显示了以下错误消息:
1.
* Restarting web server apache2
2.
httpd (no pid file) not running
然而,有点奇怪的是,当我运行 top 命令时,它显示 apache2 进程正在运行并且使用了 100% 的 CPU。
下一个要查看的地方是 Apache 的错误日志,位于
1.
/var/log/apache2/error.log
错误日志显示以下消息,表明eaccelerator可能与apache2无法启动的问题有关:
1.
PHP Warning: [eAccelerator] This build of "eAccelerator" was compiled for PHP version 5.2.4-2ubuntu5.3. Rebuild it for your PHP version (5.2.4-2ubuntu5.4) or download precompiled binaries.\n in Unknown on line 0
2.
PHP Fatal error: Unable to start eAccelerator module in Unknown on line 0
经过谷歌搜索,我发现 eAccelerator 无法工作,因为它没有针对我新升级的 php5 版本进行编译。
为了解决这个问题,或者至少确认问题是否出在 eaccelerator 上,我重命名了存储在
1. /etc/php5/apache2/conf.d to something else and then started apache2.
Apache 启动起来就像从来没有出现过任何问题一样。是 eaccelerator 阻止了 Apache 启动。
只要 eaccelerator 没有激活,Apache2 就可以工作。现在,如果我想继续使用 eaccelerator,我所需要做的就是重新编译 eaccelerator,以便它与我升级后的 php5 版本兼容。
答案2
尝试使用 php 启动 apache 时是否获得了一些日志输出?
可能的位置是 /var/log/messages、/var/log/syslog 和 /var/log/apache2/error.log
如果是,请将其添加到您的问题中。