• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • dedecms
  • ecshop
  • z-blog
  • UcHome
  • UCenter
  • drupal
  • WordPress
  • 帝国cms
  • phpcms
  • 动易cms
  • phpwind
  • discuz
  • 科汛cms
  • 风讯cms
  • 建站教程
  • 运营技巧
您的位置:首页 > CMS教程 >建站教程 > 聊聊ThinkPHP3.2.3从php5升级到php7艰辛之路

聊聊ThinkPHP3.2.3从php5升级到php7艰辛之路

作者:站长图库 字体:[增加 减小] 来源:互联网 时间:2022-04-29

站长图库向大家介绍了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

其中最主要的就是配置文件如下图:


603dea3b37737.png


apache加载php支持

PHPIniDir d:/GPS-LOCK/php/php.iniLoadModule 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数据库支持


603dea6742e47.png


此处是因为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版本

修改位置文件如下


603dea9d00efe.png


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空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • 聊聊ThinkPHP3.2.3从php5升级到php7艰辛之路

相关文章

  • 2022-04-29浅谈Nodejs中的callback回调
  • 2022-04-29Photoshop设计国外木纹风格的网页模板
  • 2022-04-29dedecms页面获取会员状态的代码
  • 2022-04-29如何优化css expression性能
  • 2022-04-29纯CSS3怎么创建瀑布流布局?columns方法浅析
  • 2022-04-29Photoshop设计超酷的扁平化软件图标
  • 2022-04-29ThinkPHP5验证码图片如何生成
  • 2022-04-29最简单的WordPress手动输入页号并跳转翻页的方法
  • 2022-04-29PhotoShop制作window7移动导航网页界面设计教程
  • 2022-04-29浅析网页与小程序间怎么进行通信

文章分类

  • dedecms
  • ecshop
  • z-blog
  • UcHome
  • UCenter
  • drupal
  • WordPress
  • 帝国cms
  • phpcms
  • 动易cms
  • phpwind
  • discuz
  • 科汛cms
  • 风讯cms
  • 建站教程
  • 运营技巧

最近更新的内容

    • 带大家聊聊小程序中的几种页面传参方式
    • Photoshop制作金属质感的工具图标
    • 浅谈conda安装nodejs版本过低问题的解决方法
    • laravel-admin怎么使用wang-editor富文本插件
    • 怎么利用Node.js进行html页面跳转
    • 浅谈css3 device-width和width之间的差异
    • Photoshop鼠绘质感霸天虎机器人界面
    • Photoshop巧用素材合成绚丽美女海报教程
    • 一起聊聊thinkphp6使用think-queue实现普通队列和延迟队列
    • Mysql如何查询navicat中的blob类型内容

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有