我有PHP7 安装在我的 Ubuntu 14.04 上笔记本电脑。它一直运行良好。现在,由于某种原因,我的 apache2 无法启动。
anjanesh@anjanesh-Latitude-3560:~$ sudo /etc/init.d/apache2 start
* Starting web server apache2 *
* The apache2 configtest failed.
Output of config test was:
apache2: Syntax error on line 140 of /etc/apache2/apache2.conf: Syntax error on line 3 of /etc/apache2/mods-enabled/php7.0.load: Cannot load /usr/lib/apache2/modules/libphp7.0.so into server: /usr/lib/apache2/modules/libphp7.0.so: undefined symbol: ap_map_http_request_error
Action 'configtest' failed.
The Apache error log may have more information.
所有文件都已就位。/usr/lib/apache2/modules 中有 libphp7.0.so。
答案1
在 16.04 LTS 上重新安装了 PHP 以解决此问题。注意:运行 Apache2 后,直到运行了 apt update
a 后才会安装。sudo apt autoremove
安装 Apache
sudo aptitude install apache2
安装 MySQL
sudo aptitude install mysql-server
安装 PHP
sudo aptitude install php7.0 libapache2-mod-php7.0 php7.0 php7.0-common php7.0-gd php7.0-mysql php7.0-mcrypt php7.0-curl php7.0-intl php7.0-xsl php7.0-mbstring php7.0-zip php7.0-bcmath php7.0-iconv php-mcrypt
启动 Apache
apachectl start
答案2
声誉不足,无法发表评论...
对我来说,做的sudo apt-get update
还不够(原文作者在问题下的评论)。
但随后也做了sudo apt-get upgrade
修复。
答案3
如果您使用 ondrej ppa (sudo add-apt-repository ppa:ondrej/php) 升级 php 版本,您还需要升级 apache2 版本。
请添加以下 ppa 并升级 apache2 包。
sudo add-apt-repository ppa:ondrej/apache2
sudo apt update
sudo apt install -y apache2
然后启用libapache2-mod-php7.0或libapache2-mod-php。
$ sudo a2enmod php
或者
$ sudo a2enmod php7.0
或者
$ sudo a2enmod php7.1
重新启动 apache。
$ sudo service apache2 restart
你的问题已经解决了。