前言:
我想在服务器上安装兰空图床, 而兰空图床要求php版本必须大于等于8.0.2.
在Debian环境下, 使用 apt install php 默认安装的是php7.4, 显然不符合要求.

看来只能编译安装1最新的php版本了


1.下载php源码

php官网: https://www.php.net/
web-php.png

点击download

然后找到Current Stable PHP(文件大小最大的那个)

php-download.png

点击php-8.1.11.tar.gz

下载完压缩包后, 将压缩包上传至服务器. 然后解压.

#解压压缩包
tar -xvf <下载的php压缩包>

2.编译前的php编译配置

在解压后的源码目录下进行编译配置

如果只使用命令 ./configure2, php会默认将程序安装在 /usr/local/ 下, 且不会安装必要的数据库驱动器和一些php扩展.

因此在编译前需要手动添加php编译配置, 以满足我们的需求~

#编译配置
./configure --enable-fpm \
            --prefix=/opt/<安装目录> \
            --with-mysqli=mysqld --with-mysqli --with-pdo-mysql \
            --enable-mbstring --with-curl \

在Debian下, 可能还会报错缺少软件包 pkg-config, libxml-2.0, sqlite3 ......等.
还需安装对应的软件包

#安装编译配置需要的软件包
apt install pkg-config libxml2 libxml2-dev \
libsqlite3-dev zlib1g-dev libcurl4-openssl-dev libonig-dev

解释:

  1. 配置安装目录 --prefix=<安装目录>
    如果使用默认配置安装目录 /usr/local/ , 那么php的文件会分散的安装在这个默认目录下, 对于未来php的管理会带来一定的麻烦(而且还不好卸载). 指定安装目录, 所有php的文件会集中放入安装目录, 便于未来管理和卸载
    在linux下, 目录 /opt3 用于存放附加的软件包.
  2. 安装数据库适配器 --with-mysqli=mysqld, --with-mysqli, --with-pdo-mysql
  3. 启用php-fpm --enable-fpm
  4. 安装并启用php扩展 --enable-mbstring, --with-curl

关于php扩展的配置还可以再加, 不过目前我还不需要太多php扩展,所以没加(~ ̄▽ ̄)~


3. 编译并安装

make && make install4: 代表执行完 make, 再执行 make install

#编译安装
make && make install

编译安装完php后, php并不能马上工作, 还需进一步配置, 以后再写(~ ̄▽ ̄)~


  1. 理论上, 以下步骤同样适用于ubuntu.
  2. 注意: 命令 ./configure 的工作目录(当前目录)必须是解压后的源码目录.
  3. 参考(菜鸟教程): https://www.runoob.com/linux/linux-system-contents.html
  4. <命令1> &: 代表将命令1后台执行, <命令1> && <命令2>: 代表先执行命令1, 命令1执行完后, 再执行命令2
最后修改:2024 年 02 月 21 日
如果觉得我的文章对你有用,请随意赞赏