centos6.9 PHP5.4版本升级到7.3

yum install epel-release
rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-6.rpm
yum --enablerepo=remi-php73 install php
yum --enablerepo=remi-php73 install php php-mysql php-zip gd php-gd gd-devel php-xml php-common php-mbstring php-ldap php-pear php-xmlrpc php-imap
yum --enablerepo=remi-php73 install php-redis php-fpm

php -v

出现这个警告:

PHP Warning: Module 'curl' already loaded in Unknown on line 0

PHP程序报错:

Class 'ZipArchive' not found

没有安装php-zip

yum --enablerepo=remi-php73 install php-zip

通常,PHP 模块以两种方式之一加载 – 将模块直接编译到 PHP 二进制文件中,
或者通过 php.ini 文件将它们作为扩展加载。如果以两种方式加载模块,则会发出警告。
去配置文件把curl注释掉

vim /etc/php.ini 找到 extension=curl.so 这一行前面加上;注释

php -v 没有警告了
php -m 查看加载的模块,看到curl模块仍然是有的

ll /usr/lib64/php/modules/redis.so

whereis php

/usr/bin/php -v  #7.3.25
/usr/local/php/bin/php -v #原来的5.4,前面报了一堆警告信息

php -r 'echo date("Y-m-d H:i:s");'

service php-fpm status  #php-fpm is stopped

chkconfig --list | grep php

ps aux| grep php

php-fpm -t

php-fpm -v   #PHP 7.3.25 

whereis php-fpm

/etc/php-fpm.conf

cd /etc/php-fpm.d/

cp www.conf www.conf.bak

cat www.conf.bak | grep '^[^;]' > www.conf     #把默认配置去掉注释的行写到www.conf

添加www用户和组

cat /etc/passwd
adduser --help
adduser -rm www            #创建系统用户,创建家目录
usermod --help
groupadd --help
ps aux| grep php        #发现现在运行的PHP是nobody
groupadd -r www            #创建用户组,提示已经存在了
cat /etc/group            #查看组是否是www用户的组ID
usermod -c www www        #将www用户添加到www组
usermod -s /sbin/nologin www        #将www登录脚本设置为不需登录

修改网站php配置

vim /etc/php-fpm.d/www.conf

[www]
user = www
group = www
listen = /tmp/php73-cgi.sock
listen.owner = www
listen.group = www
listen.mode = 0666
listen.allowed_clients = 127.0.0.1
pm = dynamic
pm.max_children = 80
pm.start_servers = 5
pm.min_spare_servers = 5
pm.max_spare_servers = 35
pm.status_path = /php73_status
ping.path = /php73_ping
slowlog = /var/log/php-fpm/www-slow.log
request_terminate_timeout = 3
php_admin_value[error_log] = /var/log/php-fpm/www-error.log
php_admin_flag[log_errors] = on
php_value[session.save_handler] = files
php_value[session.save_path]    = /var/lib/php/session
php_value[soap.wsdl_cache_dir]  = /var/lib/php/wsdlcache
php-fpm -t            #测试配置文件正常后,启动php-fpm

service php-fpm start
service php-fpm status
ps aux|grep php        #查看运行的进程
ll /tmp/php73-cgi.sock        #查看监听的文件

修改nginx配置中的php服务

location ~ .*\.(php)?$ {
    try_files $uri =404;
    #fastcgi_pass   127.0.0.1:9000;
    fastcgi_pass  unix:/tmp/php73-cgi.sock; 
    fastcgi_index index.php;
    include fastcgi.conf;
}

标签: none

添加新评论