首先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艰辛之路相关推荐

  1. php7 php5.6 array,[转]php5.6 升级到php7及变化

    不向后兼容的变更 错误和异常处理相关的变更 在 PHP 7 中,很多致命错误以及可恢复的致命错误,都被转换为异常来处理了. 这些异常继承自 Error 类,此类实现了 Throwable 接口 (所有 ...

  2. mac php7 mysql 扩展_升级到php7和安装拓展(mac centos)

    Mac升级到php7 使用homebrew安装php7 brew update #更新源 brew search php #查找源中的php,发现有php7.1版本,安装最新的php7.1 brew ...

  3. 升级到php7和安装拓展(mac centos)

    Mac升级到php7 使用homebrew安装php7 brew update #更新源 brew search php #查找源中的php,发现有php7.1版本,安装最新的php7.1 brew ...

  4. php7会不会出问题,升级到PHP7后会话不工作

    我的主机提供程序从php5.6升级到php7.2,我注意到在重新加载页面后会话变量丢失了. 以下是代码的相关部分,例如主页上的搜索表单: session_start(); //ini_set('ses ...

  5. php5项目迁移到php7,php5扩展迁移php7扩展

    记录一下PHP5扩展升级到PHP7扩展的一些点,覆盖十分不全,只是自己在工作中的遇到项目的一些改动. 1, zend_hash_get_current_data_ex php5 定义:1ZEND_AP ...

  6. 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 ...

  7. php5.3 with-mysql centos_Centos编译搭建php7让php5.3和php7兼容共存教程

    PHP7版本现在在linux系统中已经开始使用起来了,下面我们来看一篇关于Centos搭建PHP7.0.x让php5.3和php7兼容共存教程,希望下文对各位有帮助. 先安装php5.3 就不说,说C ...

  8. 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: 随后要 ...

  9. 【技术分享】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 ...

  10. linux php环境升级,php5.6升级到php7.1.10(Linux环境)

    环境说明:nginx+php 无需删除旧的php5版本,升级步骤如下: 0.,关闭php-fpm(如果有) service php-fpm stop 1.拉取php7.1.10 tar包 $wget ...

最新文章

  1. Google Test(GTest)使用方法和源码解析——概况
  2. Postgresql服务器配置-设置参数
  3. Xamarin.Forms开发实战基础篇大学霸内部资料
  4. linux下find(文件查找)命令的用法总结
  5. 小猪学设计模式——工厂模式之抽象工厂
  6. 请问,现在android流行什么开源框架?
  7. 开单大师(开源可定制的房产管理系统) v3.6.9学习版
  8. Linux: 举例说明Linux diff 命令
  9. 软件测试人员的三重境界
  10. 被利用达数百万次、瞄准 Linux 系统的 Top 15漏洞
  11. 微信小程序下载pdf到本地的坑
  12. css设置背景色透明,字体颜色不透明
  13. 高山仰止,景行行止。虽不能至,然心向往之。
  14. divgrad怎么求_[怎样理解圆柱坐标系和球坐标系求梯度.散度]球坐标系梯度如何求...
  15. AS400 EBCDIC码转UTF-8码
  16. 把网页保存成markdowm的方法
  17. 一本通 1287:最低通行费 C++
  18. MDI窗体(多文档界面)
  19. 艾美捷C1q天然蛋白的应用和化学性质说明
  20. 南加大计算机专业本科sat要求,南加州大学申请条件有哪些?

热门文章

  1. Stata 15.1下载
  2. 什么是UDS诊断协议?
  3. linux uvc协议_linux uvc 深入理解(一)
  4. Java疯狂讲义(第8章——泛型)(读书笔记)
  5. 德赛西威280b升级_车载导航刷机:德赛西威NAV280H固件升级
  6. Windows远程桌面开发之九-虚拟显示器(Windows 10 Indirect Display 虚拟显示器驱动开发)
  7. idea导出Oracle表结构和数据
  8. 关于keeplive
  9. Matlab|Simulink打开mdl/slx等文件报错:lnvalid block diagram name supplied. Valid block diagram names ...
  10. 室友转行软件测试,月薪1.4万,天天摸鱼没事干