安装Apache2的php模块时出现错误

3

一开始,我发现我的服务器上的PHP文件以纯文本形式显示(整个代码都显示出来了)。经过调查后,我发现需要将MIME类型添加到/etc/mime.types中,于是我这样做了,并重新启动了服务器,但这并没有帮助解决问题。进一步调查后,我从这里发现我们需要启用php5模块,运行apachectl -M时,我发现没有列出php5模块。所以我尝试安装它,结果如下:

admin@vm:~$ sudo apt-get install php5
...
php5_invoke pdo: already enabled for apache2 SAPI
dpkg: error processing package libapache2-mod-php5 (--configure):
 subprocess installed post-installation script returned error exit status 1
Errors were encountered while processing:
 libapache2-mod-php5
E: Sub-process /usr/bin/dpkg returned an error code (1)

admin@vm:~$ sudo apt-get install libapache2-mod-php5
...
dpkg: error processing package libapache2-mod-php5 (--configure):
 subprocess installed post-installation script returned error exit status 1
Errors were encountered while processing:
 libapache2-mod-php5
E: Sub-process /usr/bin/dpkg returned an error code (1)

我还需要提一下,我为这些网站创建了两个虚拟主机。我不确定出了什么问题。能有人帮我吗?

2个回答

6
这不是一个正式的解决方案,但我重新安装了Apache,它运行得很好:
$ sudo apt-get purge apache2 
$ sudo apt-get purge php5 libapache2-mod-php5 
$ sudo apt-get purge autoremove 
$ sudo apt-get install apache2 libapache2-mod-php5 php5 

$ sudo apt-get purge autoremove 正在读取软件包列表... 完成 正在建立依赖关系树
正在读取状态信息... 完成 E: 无法定位软件包 autoremove
- Pablo Pazos
1
autoremove 不应该有 "purge"。 - Pablo Pazos

0

包libapache2-mod-php5包含了libphp5.so,该文件位于/usr/lib/apache2/modules目录下,而php5.conf/php5.load文件位于/etc/apache2/mods-available目录下。 因此,您可以获取这三个文件,并将其复制到相应的位置。 并且,您应该使用ln -s命令将php5.conf/load链接到/etc/apache2/mods-enables目录下,这样apached就能找到配置文件并加载libphp5.so。

我遇到了同样的问题并解决了它。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接