phpcmsv9mysql扩展_phpcmsV9升级到php7.1+mysql5.6+nginx1.9迁移步骤nginx中文伪静态rewrite配置...
最近将phpcmsV9升级至php7.1,中间踩过一些坑,这里列出来给大家参考下。
1. 迁移至php7.1+mysql5.6+nginx的修改项目
已修改 : /phpcms/libs/classes/checkcode.class.php
已修改 : /phpcms/libs/classes/db_factory.class.php
已增加 : /phpcms/libs/classes/db_mysqli.class.php
已修改 : /phpcms/libs/classes/model.class.php
已修改 : /phpcms/libs/classes/template_cache.class.php
已修改 : /phpcms/libs/classes/update.class.php
已修改 : /phpcms/libs/functions/global.func.php
已修改 : /phpcms/modules/admin/cache_all.php
已修改 : /phpcms/modules/content/fields/editor/output.inc.php
已修改 : /phpcms/modules/content/fields/title/output.inc.php
2. 函数htmlspecialchars()在php7下严格校验编码,导致空白,修改为new_html_special_chars()方法:
已修改 : /phpcms/modules/content/fields/content_form.class.php
已修改 : /phpcms/modules/content/fields/omnipotent/field_edit_form.inc.php
已修改 : /phpcms/modules/content/fields/textarea/field_edit_form.inc.php
已修改 : /phpcms/modules/yp/fields/omnipotent/field_edit_form.inc.php
已修改 : /phpcms/modules/yp/fields/textarea/field_edit_form.inc.php
已修改 : /phpcms/modules/yp/fields/title/output.inc.php
已修改 : /phpcms/modules/yp/fields/yp_form.class.php
所有以上修改/增加的文件,均在下面压缩包中,建议下载后对比查看,不建议直接替换;
其中global.func.php仅修改不可替换,请自行对比文件改动的地方;
3.修改database.php的type值为mysqli;
注意事项:
A.php7.1对函数参数个数严格校验,对函数形参一定要赋默认值,否则直接Fatal error: Uncaught ArgumentCountError: Too few arguments to function;
B.htmlspecialchars严格编码,以前在php5.2下正常使用的,需要修改为 new_html_special_chars() 具体函数定义见 global.func.php;
C.数据库5.6对老版本5.0的listorder-1问题,将字段设置为有符号即可;
D.伪静态规则升级,与httpd.ini变化不太大,需要逐条测试;
E.MySQL函数mysql_在php7中废弃,代之以mysqli_函数;
伪静态rewrite规则而升级遇到一个坑,就是中文url的问题,我是这么解决的:
#tags
rewrite ^(.*)/tags/?([A-Za-z]?)/(?:page([0-9]+))?/?$ $1/index.php?m=tags&c=index&a=init&letter=$2&page=$3 last;
rewrite ^(.*)/tags/?(?:page([0-9]+))?/?$ $1/index.php?m=tags&c=index&a=init&page=$2 last;
rewrite ^(.*)/tags/([^/.]+)/?(?:page([0-9]+))?/?$ $1/index.php?m=tags&c=index&a=init&tag=$2&page=$3 last;
重点看第三条,直接匹配tags/后的所有字符,然后让前两条规则优先,解决冲突的问题;经过GET打印测试,匹配完美。
本文由久久博客www.99xq.cn原创,转载请注明出处。
phpcmsv9mysql扩展_phpcmsV9升级到php7.1+mysql5.6+nginx1.9迁移步骤nginx中文伪静态rewrite配置...相关推荐
- mac php7 mysql 扩展_升级到php7和安装拓展(mac centos)
Mac升级到php7 使用homebrew安装php7 brew update #更新源 brew search php #查找源中的php,发现有php7.1版本,安装最新的php7.1 brew ...
- centos6.8 编译安装lnmp php7.2 mysql5.6 nginx1.1.4
编译操作参考版,没有每一步详细操作,慎入 关闭selinux和防火墙 service iptables stop chkconfig iptables off vi /etc/selinux/conf ...
- linux php环境升级,php5.6升级到php7.1.10(Linux环境)
环境说明:nginx+php 无需删除旧的php5版本,升级步骤如下: 0.,关闭php-fpm(如果有) service php-fpm stop 1.拉取php7.1.10 tar包 $wget ...
- CentOS 7 + nginx-1.12 + php-7.2 + MySQL-5.7
2019独角兽企业重金招聘Python工程师标准>>> CentOS 7 + nginx-1.12 + php-7.2 + MySQL-5.7 使用 Netkiller OSCM 一 ...
- php7 php5.6 array,[转]php5.6 升级到php7及变化
不向后兼容的变更 错误和异常处理相关的变更 在 PHP 7 中,很多致命错误以及可恢复的致命错误,都被转换为异常来处理了. 这些异常继承自 Error 类,此类实现了 Throwable 接口 (所有 ...
- Ubuntu 平滑升级到PHP7
2019独角兽企业重金招聘Python工程师标准>>> 基本上算是平滑升级,当然前提是要保证代码可以兼容 php7 #添加源 apt-get install python-softw ...
- 有必要升级到php7,升级到 PHP 7.4
人们期待已久的 PHP 7.4最新版本于2019年11月28日发布. 它有很多新功能,例如 类型属性 箭头函数 有限返回类型协变与参数类型逆变 打包内部数组 数值文字分隔符 弱引用 允许从 __toS ...
- 如何简单的在阿里云centos7.6 64位操作系统上手动搭建LNMP环境(Nginx1.14.2+PHP7.x+mysql5.7)
步骤如下: 开通云服务器 建站首先要有服务器和域名,对于个人使用的小型网站,一台1核CPU|2G内存|1M带宽|40G系统盘的云服务器ECS实例即可满足需要.目前国内主流云服务提供商为阿里云.腾讯云. ...
- 升级到php7和安装拓展(mac centos)
Mac升级到php7 使用homebrew安装php7 brew update #更新源 brew search php #查找源中的php,发现有php7.1版本,安装最新的php7.1 brew ...
最新文章
- python三维图形渲染-基于VTK/numpy的三维图像渲染与可视化
- linux 内存日志,性能优化:使用ramlog将日志文件转移到内存中
- POJ3263-Tallest Cow【前缀和】
- 全国土壤湿度数据集/土壤水分数据
- [HTML] Prettify 代码高亮使用总结
- D4 数据分析实例:分析movielens电影数据+pandas核心数据结构
- 普中51单片机开发板笔记
- 用于目标检测的细粒度动态头
- 一年级古诗《画》知识点心田花开汇总
- 百度EasyDL图像分类的使用
- h2o java,R H2O与32位java
- 第五章第二十八题(显示每月第一天是星期几)(Display the first days of each month)
- Babylon.js 第28章 多面体
- Linux学习笔记(1)----配通网络
- systemd工具介绍
- linux学习篇 之 复制、黏贴、删除、撤销
- html发展时间轴纵向插件,jquery响应式垂直时间轴插件vertical-timeline
- 海康威视web插件层级遮挡问题,仅供参考
- Content Delivery Networks CDN 内容分发网络
- uni-app小程序滑动到顶部固定
热门文章
- linux文件的定义变量的值,linux $变量含义($0,$1,$2,$#,$@) ----linux 基础
- Java 必知必会的 20 种常用类库和 API
- SpringBoot 2.0 教程实战 MySQL 读写分离
- 数据结构值排序算法(三)-快速排序
- CSS阴影box-shodow总结
- 连接池Connection Pool 单例设计
- Java常用类之【八种基本数据类型】
- vs2017c语言程序添加图标,笔试编程必备技巧——Visual Studio 2017添加自定义代码片段...
- Android JNI的第一步——从HelloWorld开始
- linux 日志监控工具,详解 Linux系统常用监控工具