嗨,朋友!今天的主角是悠久的 PHP5.5,虽然它已经正式风烛残年,但许多旧项目还是把它当作救命稻草。你打算在云服务器上给旧代码加一层暖暖的支持?别怕,跟着我,我们一起把虚拟主机搞成“老兵新装”型的产线,操作简单到你还没反应过来,你就能跑起自己的老站来了。
先说点背景:在阿里云、腾讯云、百度云等主流云服务器上,你都可以用轻量级镜像快速部署一台 Ubuntu 18.04/20.04 的 VPS。因为 PHP5.5 在官方仓库里已经被淘汰至 Universe/Multiverse 里,直接 apt-get install 可能不会找到。你需要做的是添加第三方 PPA(或者直接编译),然后把它再塞进虚拟主机里。当然了,流程里少不了一些“魔法”命令,让你上手更快。
第一步:选择镜像。碰碰运气,直接搜索 “intellinux lts 18.04” 那样的镜像,往往整合了很多常用包。或者你可以在控制台的镜像库里挑一个标记为 “官方” 的 Ubuntu 18.04。别忘了把云墙和防火墙打开写几个常用端口:22、80、443,方便你随时 SSH 和 HTTP 访问。
第二步:登录系统。记得先用 Linux 本机的 SSH 客户端,或是本地的 PuTTY 之类的工具,用你的云服务器根账号(也叫 root)来进去。记住:安全起见,最好改个 SSH 密码或挂载密钥。
第三步:更新系统。大多数新手上门第一句就能秒:“sudo apt update && sudo apt upgrade -y”。让系统升级到最新的安全补丁,免得后来装的 PHP 跑到一个雾都中去。
短暂休息——现在我们来装“魔法”的 PHP5.5。Ubuntu 16.04/18.04 官方仓库里,PHP5.5 被拆到 Universe,甚至不在默认启用的源里。我们可以利用以下几种方法:
方法 A:直接安装编译好的二进制包。你可以去 php.net 或者 ppa:ondrej/php-chimaera 里找对应的 .deb。以 PPA 为例,执行:
````bash
sudo add-apt-repository ppa:ondrej/php
sudo apt-get update
sudo apt-get install php5.5
```
这套方法的好处是维护简单,除非你打算再升级到 7.x 或者 8.0,否则没事儿。你还可以加上 php5.5-mysql、php5.5-xml 等模块,按需要添加:
````bash
sudo apt-get install php5.5-mysql php5.5-xml php5.5-curl
```
方法 B:从源代码编译。若你担心兼容性偏好,或者需要开启某些实验特性,就直接下载源代码,然后自行编译:
````bash
sudo apt-get install build-essential libxml2-dev libssl-dev
wget https://museum.php.net/php5/php-5.5.38.tar.gz
tar -xzf php-5.5.38.tar.gz
cd php-5.5.38
./configure --with-apxs2=/usr/lib/apache2/apxs --with-mysqli --with-pear
make && sudo make install
```
其中 --with-apxs2 参数让 PHP 编译成 Apache 的 mod_php 模块,后面再把它挂到虚拟主机一块儿就行。
一点小梗:有人说 PHP5.7 是 5.5 的同龄人,可是只知道一次更新就会被赶走的版本,真的很“优雅”。
第四步:整合到 Apache 虚拟主机。接下来你需要把 PHP5.5 叉到虚拟主机里。下面是一个典型的配置示例,手把手教你实现:在 /etc/apache2/sites-available/ 下新建一个 conf 文件,例如 mysite.conf:
````apacheconf
\n