前言:
我想在服务器上安装兰空图床, 而兰空图床要求php版本必须大于等于8.0.2.
在Debian环境下, 使用 apt install php
默认安装的是php7.4, 显然不符合要求.
看来只能编译安装1最新的php版本了
1.下载php源码
php官网: https://www.php.net/
然后找到Current Stable PHP(文件大小最大的那个)
下载完压缩包后, 将压缩包上传至服务器. 然后解压.
#解压压缩包
tar -xvf <下载的php压缩包>
2.编译前的php编译配置
在解压后的源码目录下进行编译配置
如果只使用命令 ./configure
2, 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
解释:
- 配置安装目录
--prefix=<安装目录>
如果使用默认配置安装目录/usr/local/
, 那么php的文件会分散的安装在这个默认目录下, 对于未来php的管理会带来一定的麻烦(而且还不好卸载). 指定安装目录, 所有php的文件会集中放入安装目录, 便于未来管理和卸载
在linux下, 目录/opt
3 用于存放附加的软件包. - 安装数据库适配器
--with-mysqli=mysqld
,--with-mysqli
,--with-pdo-mysql
- 启用php-fpm
--enable-fpm
- 安装并启用php扩展
--enable-mbstring
,--with-curl
关于php扩展的配置还可以再加, 不过目前我还不需要太多php扩展,所以没加(~ ̄▽ ̄)~
3. 编译并安装
make && make install
4: 代表执行完 make
, 再执行 make install
#编译安装
make && make install
编译安装完php后, php并不能马上工作, 还需进一步配置, 以后再写(~ ̄▽ ̄)~
- 理论上, 以下步骤同样适用于ubuntu. ↩
- 注意: 命令
./configure
的工作目录(当前目录)必须是解压后的源码目录. ↩ - 参考(菜鸟教程): https://www.runoob.com/linux/linux-system-contents.html ↩
-
<命令1> &
: 代表将命令1后台执行,<命令1> && <命令2>
: 代表先执行命令1, 命令1执行完后, 再执行命令2 ↩