You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Ubuntu 18.04下Apache启动报错提示/usr/lib/apache2/modules/libphp5.6.so缺失的解决求助

Ubuntu 18.04下Apache启动报错提示/usr/lib/apache2/modules/libphp5.6.so缺失的解决求助

兄弟,你这问题核心点很明确——你只安装了PHP 5.6的命令行(CLI)版本,而Apache需要的PHP模块包压根没装,所以才会出现libphp5.6.so文件缺失的报错。下面给你一套针对Ubuntu 18.04环境的实操解决方案:

第一步:清理之前的无效配置

先把你手动创建的软链接删掉,避免后续安装时出现冲突:

sudo rm /etc/apache2/mods-enabled/php5.6.conf /etc/apache2/mods-enabled/php5.6.load

第二步:添加PHP 5.6的软件源

Ubuntu 18.04默认软件源里没有PHP 5.6,我们需要添加第三方的PPA源(这是PHP维护者常用的靠谱源):

sudo add-apt-repository ppa:ondrej/php
sudo apt update

第三步:安装PHP 5.6的Apache模块

执行以下命令安装专门给Apache用的PHP 5.6模块包:

sudo apt install libapache2-mod-php5.6

安装完成后,系统会自动帮你配置好模块的软链接,不用手动创建了。

第四步:切换Apache的PHP模块(避免版本冲突)

如果你的服务器之前装过其他PHP版本(比如Ubuntu 18.04默认的PHP 7.x),需要先禁用这些模块,再启用PHP 5.6:

# 禁用所有PHP 7.x模块(根据实际安装的版本调整)
sudo a2dismod php7.0 php7.1 php7.2 php7.3 php7.4
# 启用PHP 5.6模块
sudo a2enmod php5.6

第五步:重启Apache并验证

重启Apache服务让配置生效:

sudo systemctl restart apache2

然后验证是否成功:

  1. 查看Apache加载的模块,确认PHP 5.6模块已加载:
apache2ctl -M | grep php

正常会输出 php5_module (shared)
2. 在网站根目录(比如/var/www/html)创建一个测试文件phpinfo.php:

<?php phpinfo(); ?>

通过浏览器访问这个文件,确认页面显示的PHP版本是5.6,且Server API为Apache 2.0 Handler。

针对旧网站的兼容性提示

你的网站是2006年的,原本跑在PHP 5.2/5.3,切换到PHP 5.6后可能需要调整一些PHP配置:
打开PHP 5.6的Apache配置文件/etc/php/5.6/apache2/php.ini,修改以下参数:

  • short_open_tag = On:旧代码可能大量使用<?而非<?php
  • magic_quotes_gpc = On:PHP 5.4之后默认关闭,旧代码可能依赖这个功能

注意:register_globals在PHP 5.4之后已经被移除,如果你的旧代码依赖这个,只能修改代码逻辑,不建议用第三方补丁强行开启,风险很高。

最后,如果之前安装过程中有残留的无效包,可以清理一下:

sudo apt autoremove
sudo apt autoclean

备注:内容来源于stack exchange,提问作者PHP Guru

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.21 11:50:29