Ubuntu 18 上缺少 /usr/lib/apache2/modules/libphp5.6.so

Ubuntu 18 上缺少 /usr/lib/apache2/modules/libphp5.6.so

我使用以下命令安装了 PHP 5.6:

apt install php5.6

/etc/apache2/mods-enabled然后我在for中添加了一个 -s 链接php5.6.confphp5.6.load

当我重新启动 apache2 时,出现了之前没有出现的错误:

Syntax error on line 146 of /etc/apache2/apache2.conf

第 146 行如下所示:

IncludeOptional mods-enabled/*.load

所以我看了一下php5.6.load,上面写着:

# Conflicts: php5
# Depends: mpm_prefork
LoadModule php5_module /usr/lib/apache2/modules/libphp5.6.so

最后我试图看一下,/usr/lib/apache2/modules/libphp5.6.so但它不在那里。

hostnamectl 输出如下信息:

         Icon name: computer-vm
           Chassis: vm
    Virtualization: vmware
  Operating System: Ubuntu 18.04.6 LTS
            Kernel: Linux 4.15.0-213-generic
      Architecture: x86-64

这是我的托管服务提供商为我提供的服务器,他们说他们尝试了多次,但无法将 PHP 5.6 安装为 Apache 模块。但我怀疑这是可能的,他们只是懒惰。它已经作为命令行安装

php -v输出:

PHP 5.6.1 (cli)(构建于:2023 年 10 月 3 日 04:21:44)版权所有 (c) 1997-2014 The PHP Group Zend Engine v2.6.0,版权所有 (c) 1998-2014 Zend Technologies

apache2 -v输出

服务器版本:Apache/2.4.29 (Ubuntu) 服务器建立时间:
2023-03-08T17:34:33

有什么办法可以解决这个问题吗?我需要 PHP 5.x,因为我正在运行一个 2006 年编写的旧 PHP 网站。我相信它最后运行在 PHP 5.2 或 PHP 5.3 上。我从未尝试在 PHP 5.6 上运行它,但我怀疑只要它不是 PHP 7+,它仍然可以运行。PHP 5.4-5.5 也不是一种选择,因为这些版本存在问题。

答案1

建议使用a2enmod来启用 Apache 模块。对于您的情况:

sudo a2enmod php5.6
sudo service apache2 restart

您没有提到您的机器上是否安装了其他 PHP 版本。如果有,则必须使用 禁用它们a2dismod。例如,如果您还安装了 php7.0,请执行以下操作:

sudo a2dismod php7.0
sudo service apache2 restart

该命令php -v返回 PHP CLI 版本。您必须使用它phpinfo()来查看 Apache 正在使用什么。

推荐:正如其他人所说,Ubuntu 18.04 已终止使用,因此请升级到受支持的版本。您可以从ppa:ondrej/php存储库在新的 Ubuntu 版本上安装 php5.6。

相关内容