在麒麟系统安装php7.4中遇到的问题

一、安装过程

下载相关php安装包,进行解压,进入安装包,进行编译安装,编译

./configure

--prefix=/soft/php74

--with-config-file-path=/soft/php74/etc

--with-libdir=/usr/lib64

--with-freetype=/usr/include/freetype2/freetype/

--with-jpeg=/usr/lib64

--disable-rpath

--with-curl

--enable-gd

--with-gettext

--with-mysqli

--with-openssl

--with-openssl-dir

--with-iconv

--with-zip

--with-pdo-mysql

--with-pdo-sqlite

--with-xsl

--with-zlib

--with-bz2

--with-mhash

--enable-fpm

--enable-pdo

--enable-session

--enable-simplexml

--enable-bcmath

--enable-mbregex

--enable-mbstring

--enable-opcache

--enable-pcntl

--enable-shmop

--enable-soap

--enable-sockets

--enable-sysvmsg

--enable-sysvsem

--enable-sysvshm

--enable-mysqlnd

--enable-xml

--enable-phar

如果没有报错就进行编译安装

make && make install

在进行make的时候报错如下:make: *** [ext/phar/phar.php]

解决方法如下:make ZEND_EXTRA_LIBS='-liconv'

二、问题排查

安装的过程中基本没出现什么问题,主要问题出现在php启动的时候,本次的环境是进行php版本升级,由7.2升级到7.4,安装成功后查看phpinfo信息总是显示php版本为7.2,无法切换到新安装的版本。通过分析发现,nginx是通过fastcgi进程管理器与php进行通信,php-fpm为进程管理器的一种,所以初步判断是nginx无法正常与php通信造成的,中间的主要遇到的问题如下:

1、手动启动php-fpm,访问系统提示502,查看日志报错php-cgi.sock failed

主要报错原因为nginx和php-fpm的配置sock方式不同,原有的nginx配置方式为为通过文件进行访问,内容如下

而新的php-fpm的访问方式为通过监听端口的方式(可通过查看配置文件,配置文件路径为php7_4/etc/php-fpm.d/www.conf),具体内容如下

解决方法:

修改enable-php.conf 文件,修改内容如下:

location ~ [^/].php(/|$)

{

try_files $uri =404;

fastcgi_pass 127.0.0.1:9000;

fastcgi_index index.php;

include fastcgi.conf;

}

在nginx中引用该配置文件(nginx配置文件如下:/usr/local/nginx/conf/nginx.conf),内容如下:

2、修改后报错如下:

提示被拒绝,错误信息如下:

通过排查发现少修改了vhost下的enable-php,修改后即可成功

备注:

手动启动php-fpm:php-fpm -c /usr/local/php7_4/lib/php.ini -y /usr/local/php7_4/etc/php-fpm.conf

当存在多版本php时,通过软连接进行版本切换:ln -sf /usr/local/php7_4/bin/php /usr/bin/php

断开所有php-fpm进程连接:pkill -9 php-fpm

重启php-fpm:

systemctl stop php-fpm

systemctl start php-fpm

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值