我使用以下命令安装了 PHP 5.6:
apt install php5.6
/etc/apache2/mods-enabled
然后我在for中添加了一个 -s 链接php5.6.conf
,php5.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。