我跑
sudo apt-get install apache2
我收到此错误:
Setting up apache2-mpm-worker (2.2.22-1ubuntu1.3) ...
/usr/sbin/apache2: symbol lookup error: /usr/sbin/apache2: undefined symbol: apr_thread_pool_task_owner_get
* Starting web server apache2
/usr/sbin/apache2: symbol lookup error: /usr/sbin/apache2: undefined symbol: apr_thread_pool_task_owner_get
Action 'start' failed.
The Apache error log may have more information.
invoke-rc.d: initscript apache2, action "start" failed.
/var/log/apache2/error.log 是空的。
是否可以安装不同版本的 apache2?或者可能来自不同的来源?
答案1
我遇到了同样的问题,我通过从 /usr/local/lib 中删除所有 1.2 版 libapr 文件(这些文件正在被使用,而不是 apt 安装到 /usr/lib 的较新文件)解决了这个问题。我刚刚运行
sudo rm /usr/local/lib/libapr*
更优雅/更好的解决方案是从那里删除旧的库文件并从 /usr/lib 中符号链接这些文件。
答案2
也许像这样发布输出(通过 lamp 安装的 kubuntu 12.04 上的 apache):
用户@ubuntu:~$
sudo dpkg -l | grep apache
apache2 2.2.22-1ubuntu1.3 Apache HTTP 服务器元包
apache2-mpm-prefork 2.2.22-1ubuntu1.3 Apache HTTP Server - 传统非线程模型
apache2-utils 2.2.22-1ubuntu1.3 网络服务器实用程序
apache2.2-bin 2.2.22-1ubuntu1.3 Apache HTTP Server 通用二进制文件
apache2.2-common 2.2.22-1ubuntu1.3 Apache HTTP 服务器通用文件
libapache2-mod-php5 5.3.10-1ubuntu3.6 服务器端,HTML 嵌入式脚本语言(Apache 2 模块)
用户@ubuntu:~$
或者...
Sudo apt-get update
sudo apt-get upgrade
sudo apt-get -f install
sudo reboot
或者...
sudo apt-get update
sudo apt-get remove --purge apache2 apache2-utils
sudo apt-get autoremove
sudo apt-get update
sudo tasksel
----> 安装 lamp ---> 按照 guisudo reboot
或者...检查 /etc/hosts