php7.4升级php8.3说明
说明
服务器环境满足要求(操作系统必须Centos stream 9 64位或Rocky linux9);没有自行二开过
商城版本必须2.3.623或以上
具体php模块需求看《商城服务器环境要求商城服务器环境要求》- [PHP Modules]
温馨提示:
操作前建议先了解是否会操作,并自行做好数据备份!!自行操作请务必悉知相关的技术,即使您按E企盈提供的文档执行相关操作,导致事故,造成了损失,E企盈不承担任何责任。
或付费委托E企盈处理,服务器操作系统满足要求收费500元/次;不满足需备份数据更换操作系统,迁移数据收费1000元/次
执行脚本自动化处理
宝塔升级php流程, 74->83(不管是swoole还是php-fpm)
宝塔安装php83
宝塔安装扩展: "fileinfo" "igbinary" "Zend OPcache" "intl" "redis" "mbstring"
终端执行:
`curl -fsSL -o /tmp/upgrade_php83.sh 'https://downloads.www.tengxinhulian.com/bt_php_modules/upgrade_php83.sh' &&
bash /tmp/upgrade_php83.sh '域名' '网站路径' --quiet`
注意:
域名: 一般情况, 按网站目录最后部分来填写.
例子:
网站路径: `/www/wwwroot/www_abc_com`
域名应为: `www_abc_com -> www.abc.com`
旧宝塔默认是以"."创建的目录直接复制即可
上面例子、执行脚本只适用默认没有改过路径的场景. 客户自行修改过执行无效
手动处理
安装imagick模块相关依赖: ImageMagick-devel
把站点vendor/目录删除
下载商城最新代码覆盖站点
https://www.www.tengxinhulian.com/plugins/shop_server/download?i=10&fromLogin=1
修改商城对应nginx配置
添加:
# static file config
location /addons/模王系统/static/ { root 网站路径;}
location /static/ {root 网站路径;}
location /business/ {root 网站路径;}
location = /favicon.ico { log_not_found off;}
修改
include enable-php-(74|83) 注释
对应网站反向代理修改
```
# pc端前端
location /plugins/shop_server/ {
proxy_http_version 1.1;
proxy_connect_timeout 300s;
proxy_send_timeout 900s;
proxy_read_timeout 900s;
proxy_buffer_size 512k;
proxy_buffers 4 512k;
proxy_busy_buffers_size 512k;
proxy_temp_file_write_size 512k;
proxy_max_temp_file_size 0;
proxy_redirect off;
proxy_hide_header Vary;
proxy_set_header Connection "";
proxy_set_header Accept-Encoding '';
proxy_set_header Referer $http_referer;
proxy_set_header Cookie $http_cookie;
proxy_set_header Host $http_host;
proxy_set_header Scheme $scheme;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Real-PORT $remote_port;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header Server-Protocol $server_protocol;
proxy_set_header Server-Name $server_name;
proxy_set_header Server-Addr $server_addr;
proxy_set_header Server-Port $server_port;
proxy_pass http://127.0.0.1:3000;
}
# ws config
location /ws
{
proxy_pass http://127.0.0.1:8181;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "Upgrade";
proxy_set_header X-Real-IP $remote_addr;
}
location /ws_msg
{
proxy_pass http://127.0.0.1:8182;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "Upgrade";
proxy_set_header X-Real-IP $remote_addr;
}
# swoole config
location @laravels {
proxy_http_version 1.1;
proxy_connect_timeout 300s;
proxy_send_timeout 900s;
proxy_read_timeout 900s;
proxy_buffer_size 512k;
proxy_buffers 4 512k;
proxy_busy_buffers_size 512k;
proxy_temp_file_write_size 512k;
proxy_max_temp_file_size 0;
proxy_redirect off;
proxy_hide_header Vary;
proxy_set_header Connection "";
proxy_set_header Accept-Encoding '';
proxy_set_header Referer $http_referer;
proxy_set_header Cookie $http_cookie;
proxy_set_header Host $http_host;
proxy_set_header Scheme $scheme;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Real-PORT $remote_port;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header Server-Protocol $server_protocol;
proxy_set_header Server-Name $server_name;
proxy_set_header Server-Addr $server_addr;
proxy_set_header Server-Port $server_port;
proxy_pass http://127.0.0.1:5200;
}
#前台接口
location = /addons/模王系统/api.php {
try_files "" @laravels;
}
#前台入口
location = /addons/模王系统/ {
try_files $uri $uri/ /addons/模王系统/index.html$is_args$args;
}
#首页接口
location = /officialwebsite.php {
try_files "" @laravels;
}
# 企业后台接口
location ~ /business/[0-9]+ {
try_files "" @laravels;
}
# default
location / {
try_files $uri @laravels;
}
location ~ \.php$ {
try_files "" @laravels;
}
```
对应网站supervisor配置文件添加
```
[program:域名]
process_name=%(program_name)s
command=网站路径/swoole.sh /www/server/php/83/bin/php
autostart=true
autorestart=true
stopsignal=TERM
stopasgroup=true
user=root
numprocs=1
redirect_stderr=true
stdout_logfile_maxbytes=10MB
stdout_logfile_backups=5
stdout_logfile=网站路径/storage/logs/swoole.log
```
修改商城部分
修改根目录.env
```
IS_SWOOLE=true
LARAVELS_LISTEN_IP='0.0.0.0'
LARAVELS_LISTEN_PORT='5200'
LARAVELS_WORKER_NUM='1'
```
说明:
LARAVELS_LISTEN_PORT为swoole进程监听端口 (监听端口修改需注意nginx的 @laravel反向代理设置也需做相应修改)
LARAVELS_WORKER_NUM为启动多少个进程, 一般为cpu的2倍
删除`bootstrap/cache/`目录内所有文件
重启supervisord服务
`systemctl restart supervisord`






上一篇

