本文主要是介绍Centos7环境安装PHP8,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
一、安装必要的模块
yum install -y bzip2-devel libcurl-devel libxml2-devel sqlite-devel oniguruma oniguruma-devel libxml2 libxml2-devel bzip2 bzip2-devel libcurl libcurl-devel libjpeg libjpeg-devel zstd libzstd-devel curl libcurl-devel libpng libpng-devel
二、安装PHP
1.下载PHP官方包
在https://www.php.net官网中,查看安装包链接,选择上方“download”, Current Stable PHP 8。
wget https://www.php.net/distributions/php-8.1.9.tar.gz
tar -xzxvf php-8.1.9.tar.gz
2.设置编译需要加载的模块
mkdir php-8.1.9-build
cd php-8.1.9-build
../php-8.1.9/configure --prefix=/usr/local/php-8.1.9 --enable-fpm --with-mysqli --enable-mbstring --with-bz2 --with-curl --enable-gd --with-zip --with-zlib --with-openssl
make -j2 # 双核服务器参数配置
make install
cd ..
3.设置环境变量
#设置环境变量
touch /etc/profile.d/php.sh
chmod 777 /etc/profile.d/php.sh
echo -e '\nexport PATH=/usr/local/php-8.1.9/bin:$PATH\n' >> /etc/profile.d/php.sh
source /etc/profile.d/php.sh
4.创建配置文件,并将其复制到正确的位置。
# 在源代码目录 php-8.1.9 中下执行以下命令
cd php-8.1.9
cp php.ini-development /usr/local/php-8.1.9/lib/php.ini
cd ..
cp /usr/local/php-8.1.9/etc/php-fpm.conf.default /usr/local/php-8.1.9/etc/php-fpm.conf
cp /usr/local/php-8.1.9/etc/php-fpm.d/www.conf.default /usr/local/php-8.1.9/etc/php-fpm.d/www.conf
三、配置php-fpm服务到systemctl
1.打开php-fpm.conf
vim /usr/local/php-8.1.9/etc/php-fpm.conf
找到以下内容并修改
; Pid file
; Note: the default prefix is/usr/local/php-8.1.9/var
; Default Value: none
pid = /var/run/php-fpm.pid
include=/usr/local/php-8.1.9/etc/php-fpm.d/*.conf
;/usr/local/php-8.1.9/etc/php-fpm.d
2.新建php-fpm服务文件
vim /usr/lib/systemd/system/php-fpm.service
[Unit]
Description=The PHP FastCGI Process Manager
After=syslog.target network.target[Service]
Type=forking
PIDFile=/var/run/php-fpm.pid
ExecStart=/usr/local/php-8.1.9/sbin/php-fpm
ExecReload=/bin/kill -USR2 $MAINPID
PrivateTmp=true[Install]
WantedBy=multi-user.target
3.加载服务
systemctl start php-fpm.servicesystemctl status php-fpm.service
4.配置开机启动服务
systemctl enable php-fpm.service
systemctl stop php-fpm.service
systemctl restart php-fpm.service
systemctl disable php-fpm.service
5,编辑nginx配置文件
vim /usr/local/nginx/conf/nginx.conf
添加简单的配置:
location ~ \.php$ {fastcgi_pass 127.0.0.1:9000;include fastcgi_params;fastcgi_param DOCUMENT_ROOT $realpath_root;fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;}
重启nginx
nginx -s reload
附录:
1、提示No package 'libzip' found或者(libzip >= 0.11)
#卸载老版本的libzip
yum remove libzip
#下载安装libzip-1.2.0
wget https://libzip.org/download/libzip-1.2.0.tar.gz
tar -zxvf libzip-1.2.0.tar.gz
cd libzip-1.2.0
./configure
make && make install
安装完成后,查看是否存在/usr/local/lib/pkgconfig目录,如果存在,执行如下命令来设置PKG_CONFIG_PATH:
export PKG_CONFIG_PATH="/usr/local/lib/pkgconfig/"
2、出现No package ‘oniguruma‘ found错误
oniguruma是一个处理正则表达式的库,在编译安装php时,如果使用--enable-mbstring 参数, 开启mbstring扩展,则会出现这个错误。原因:mbstring的正则功能需要oniguruma的支持,系统中却没有oniguruma库。解决方法:1、在'--enable-mbstring'参数后添加'--disable-mbregex'参数,意为不使用mbstring的正则功能,不再需要oniguruma库。2、使用源码安装oniguruma库wget https://github.com/kkos/oniguruma/releases/download/v6.9.5_rev1/onig-6.9.5-rev1.tar.gz -O onig-6.9.5.tar.gz./configure --prefix=/usr --libdir=/lib64在使用./configure时添加‘--libdir=/lib64’参数,安装完成后重新编译PHP,如果不使用该参数则仍会报错。
这篇关于Centos7环境安装PHP8的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!