centos编译安装PHP8.1

时间:2021-08-23

第一步:找到PHP8.1文件的下载位置

https://downloads.php.net/~ramsey/

centos编译安装PHP8.1

将链接复制出来:https://downloads.php.net/~ramsey/php-8.1.0alpha3.tar.gz

使用wget下载到服务器

wget https://downloads.php.net/~ramsey/php-8.1.0alpha3.tar.gz

解压

tar -zxvf php-8.1.0alpha3.tar.gz

进入到文件目录

cd php-8.1.0alpha3

第二步:为了避免安装时出错,提前安装以下软件

yum -y install libxml2-devel openssl-devel sqlite-devel libcurl-devel libicu-devel gcc-c++ oniguruma oniguruma-devel libxslt-devel libpng-devel libjpeg-devel freetype-devel

第三步:配置

可以通过以下命令查看下有哪些配置参数

./configure --help

根据你的需要,选择相应的参数

./configure --enable-fpm --enable-gd --enable-bcmath --enable-mbstring --enable-opcache --enable-pcntl  --enable-shmop --enable-soap --enable-sockets --enable-sysvsem  --enable-cli  --enable-intl --enable-calendar --enable-static --enable-mysqlnd --with-openssl --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd --with-pear --with-zlib  --with-curl --with-pdo-mysql=mysqlnd

如果在编译安装时需要编译安装其它的库后,需要设置 PKG_CONFIG_PATH 后,方可成功编译进去。

查找 pkgconfig 位置

whereis pkgconfig

找到几个路径后,就需要设置一下 PKG_CONFIG_PATH ,用英文冒号连接多个目录。

export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig

查看设置

echo $PKG_CONFIG_PATH

以上设置仅对当前窗口有效,发现始终无法安装PHP后,建议检查 PKG_CONFIG_PATH设置的值。

如果出错了,就使用搜索引擎解决,下面列出几个出错的解决方法。

1,No package 'libxml-2.0' found

yum -y install libxml2

yum -y install libxml2-devel

2,No package 'sqlite3' found

yum install sqlite-devel

3,configure: error: Please reinstall the BZip2 distribution

yum install bzip2 bzip2-devel

4,No package 'libxslt' found

yum install libxslt-devel

5,No package 'libpng' found

yum install libpng-devel

6,No package 'libxslt' found

yum install libxslt-devel

出现以下界面,则说明配置成功

centos编译安装PHP8.1

第四步:安装

make && make install

第五步:确定PHP安装成功

/usr/local/bin/php -v

centos编译安装PHP8.1

第六步:后继配置

为了确保直接使用PHP命令,创建一个链接。

ln -s /usr/local/bin/php /usr/bin/php

执行 php -v 可以查看,证明创建链接成功。

将PHP配置文件复制到其它目录,开发环境复制 php.ini-development,线上环境复制 php.ini-production

首先执行 php --ini 查看php.ini位置在哪个文件夹

centos编译安装PHP8.1

然后将下面的配置文件复制到那个文件夹

cp php.ini-development /usr/local/lib/php.ini

复制php-fpm配置文件

首先查看php-fpm加载的配置文件

执行:/usr/local/sbin/php-fpm

centos编译安装PHP8.1

然后将配置文件复制到那个文件夹

cp /usr/local/etc/php-fpm.conf.default /usr/local/etc//php-fpm.conf

cp /usr/local/etc/php-fpm.d/www.conf.default /usr/local/etc/php-fpm.d/www.conf

在PHP8.1源码目录中,将fpm运行文件复制到开机启动目录

cp sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm

增加执行权限

chmod +x /etc/init.d/php-fpm

启动php-fpm

/etc/init.d/php-fpm restart

开机自启动

chkconfig php-fpm on

第七步:测试配置文件是否正确

测试php-fpm

执行:/usr/local/sbin/php-fpm -t

报错:ERROR: Unable to globalize '/usr/local/NONE/etc/php-fpm.d/*.conf' (ret=2) from /usr/local/etc/php-fpm.conf at line 143.

修改最后一行

include=/usr/local/etc/php-fpm.d/*.conf

再次执行 /usr/local/sbin/php-fpm -t

NOTICE: configuration file /usr/local/etc/php-fpm.conf test is successful

出现上面文字代表配置成功

测试php.ini文件

执行:php --ini

centos编译安装PHP8.1

至此:已完成安装PHP8.1