ThinkPHP3.2.3从php5升级到php7艰辛之路
首先ThinkPHP3.2.3支持php7吗, 绝对支持。
windows下,之前用的项目是部署在Apache2.4.17+php5.x版本, 因为客户那边网络安全扫描,发现很多漏洞,其中有apache、php的高危漏洞,多达上百次, 急需修复,如不修复将面临站点关闭的风险。
于是联系软件供应商,那边之前答应配合升级,最终未能升级, 给到的回复是ThinkPHP3.2.3不能部署在php7。
于是只能靠自己,摸索了三四天, 终于升级成功,现在跟大家分享一下大致过程。
一、升级apache, 下载地址http://httpd.apache.org/download.cgi ,下载的版本是,2.4.33
其中最主要的就是配置文件如下图:
apache加载php支持
PHPIniDir d:/GPS-LOCK/php/php.ini
LoadModule php7_module D:/GPS-LOCK/php/php7apache2_4.dll
在此步骤遇到过不少问题,启用PHPIniDir路径,apache就启动不了,最后发现是php.ini文件引用了 php_ptheads.dll多线程引起的。反复尝试, 问题才得以解决。
二、升级php, 下载地址:https://windows.php.net/download/ 此处下载的是7.2.26,
现总结一下升级php7预到的问题
1、此处需要安装php7对应的编译vc++类库版本 , vc_redist.x64.exe, 安装的是vc15
2、sql server数据库支持
此处是因为php7默认没有加载sql server 相关dll
3、需要下载 Microsoft Drivers for PHP for SQL Server https://www.microsoft.com/en-us/download/details.aspx?id=20098 , 我下载的是7.2版本
修改位置文件如下
4、php7中 php.ini文件, ext是省略了php_.dll 如上图配置就行 , 当前需要把解压的文件拷贝到php\ext目录下
三、以为系统已经能正常在php7下运行, 结果项目用到了多线程,需要php支持pthreads,此刻已近奔溃,php.ini文件中加了extension=pthreads后, apache又启动不了。原来ptheads需要在cli模式下运行,ptheads下载地址 https://windows.php.net/downloads/pecl/releases/pthreads/
解压下载包
1、把pthreadVC2.dll文件放在php根目录下
2、php_pthreads.dll拷贝到php\ext目录下,
再次启动apache,发现一直启动不了, 找了好多资料, 原来ptheads需要运行在cli模式下, 我的解决方案是建两个php.ini配置文件, 一个供站点使用php.ini 另一个php-cli.ini文件供ptheads使用, 文件内容一样,此时升级之路总算完成。
由于楼主非php科班出生, 走了不少弯路, 但是漏洞总算得以修复, 如果大家也同样碰到此问题, 可以一起交流, 讨论;
楼主QQ:401319189 , 微信:401319189
ThinkPHP3.2.3从php5升级到php7艰辛之路相关推荐
- php7 php5.6 array,[转]php5.6 升级到php7及变化
不向后兼容的变更 错误和异常处理相关的变更 在 PHP 7 中,很多致命错误以及可恢复的致命错误,都被转换为异常来处理了. 这些异常继承自 Error 类,此类实现了 Throwable 接口 (所有 ...
- mac php7 mysql 扩展_升级到php7和安装拓展(mac centos)
Mac升级到php7 使用homebrew安装php7 brew update #更新源 brew search php #查找源中的php,发现有php7.1版本,安装最新的php7.1 brew ...
- 升级到php7和安装拓展(mac centos)
Mac升级到php7 使用homebrew安装php7 brew update #更新源 brew search php #查找源中的php,发现有php7.1版本,安装最新的php7.1 brew ...
- php7会不会出问题,升级到PHP7后会话不工作
我的主机提供程序从php5.6升级到php7.2,我注意到在重新加载页面后会话变量丢失了. 以下是代码的相关部分,例如主页上的搜索表单: session_start(); //ini_set('ses ...
- php5项目迁移到php7,php5扩展迁移php7扩展
记录一下PHP5扩展升级到PHP7扩展的一些点,覆盖十分不全,只是自己在工作中的遇到项目的一些改动. 1, zend_hash_get_current_data_ex php5 定义:1ZEND_AP ...
- php5.3 php7兼容,Centos搭建PHP7.0.x让php5.3和php7兼容共存教程
先安装php5.3 就不说,说Centos搭建PHP7.0教程: # wget http://php.net/get/php-7.0.4.tar.gz/from/a/mirror 解压安装 # ta ...
- php5.3 with-mysql centos_Centos编译搭建php7让php5.3和php7兼容共存教程
PHP7版本现在在linux系统中已经开始使用起来了,下面我们来看一篇关于Centos搭建PHP7.0.x让php5.3和php7兼容共存教程,希望下文对各位有帮助. 先安装php5.3 就不说,说C ...
- mac 10.13 配置 php,MacOS10.13.6 升级后 PHP7.3配置
MacOS10.13.6 升级后 PHP7.3配置 几乎每次Mac系统升级后,PHP都要重新配置,最近升级了MacOS到10.13.6: PHP通过brew update php升级到7.3: 随后要 ...
- 【技术分享】Win10 wampserver升级安装php7.2.32
Win10 wampserver升级安装php7.2.32 1.官网下载php7.2 2.下载visual c++ 3.解压php7.2 4.设置php.ini文件 5.设置wampserver.co ...
- linux php环境升级,php5.6升级到php7.1.10(Linux环境)
环境说明:nginx+php 无需删除旧的php5版本,升级步骤如下: 0.,关闭php-fpm(如果有) service php-fpm stop 1.拉取php7.1.10 tar包 $wget ...
最新文章
- Google Test(GTest)使用方法和源码解析——概况
- Postgresql服务器配置-设置参数
- Xamarin.Forms开发实战基础篇大学霸内部资料
- linux下find(文件查找)命令的用法总结
- 小猪学设计模式——工厂模式之抽象工厂
- 请问,现在android流行什么开源框架?
- 开单大师(开源可定制的房产管理系统) v3.6.9学习版
- Linux: 举例说明Linux diff 命令
- 软件测试人员的三重境界
- 被利用达数百万次、瞄准 Linux 系统的 Top 15漏洞
- 微信小程序下载pdf到本地的坑
- css设置背景色透明,字体颜色不透明
- 高山仰止,景行行止。虽不能至,然心向往之。
- divgrad怎么求_[怎样理解圆柱坐标系和球坐标系求梯度.散度]球坐标系梯度如何求...
- AS400 EBCDIC码转UTF-8码
- 把网页保存成markdowm的方法
- 一本通 1287:最低通行费 C++
- MDI窗体(多文档界面)
- 艾美捷C1q天然蛋白的应用和化学性质说明
- 南加大计算机专业本科sat要求,南加州大学申请条件有哪些?
热门文章
- Stata 15.1下载
- 什么是UDS诊断协议?
- linux uvc协议_linux uvc 深入理解(一)
- Java疯狂讲义(第8章——泛型)(读书笔记)
- 德赛西威280b升级_车载导航刷机:德赛西威NAV280H固件升级
- Windows远程桌面开发之九-虚拟显示器(Windows 10 Indirect Display 虚拟显示器驱动开发)
- idea导出Oracle表结构和数据
- 关于keeplive
- Matlab|Simulink打开mdl/slx等文件报错:lnvalid block diagram name supplied. Valid block diagram names ...
- 室友转行软件测试,月薪1.4万,天天摸鱼没事干