• 技术文章 >后端开发 >PHP7

    ThinkPHP3.2.3如何从php5升级到php7

    醉折花枝作酒筹醉折花枝作酒筹2021-06-09 09:18:17转载169
    本篇文章给大家介绍一下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视频教程

    以上就是ThinkPHP3.2.3如何从php5升级到php7的详细内容,更多请关注php中文网其它相关文章!

    声明:本文转载于:csdn,如有侵犯,请联系admin@php.cn删除
    专题推荐:thinkphp php7
    上一篇:一招搞定PHP5到PHP7的注意事项 下一篇:PHP7如何搭建Windows7运行环境
    第16期线上培训班

    相关文章推荐

    • php怎么设置session失效时间• PHP如何使用SplQueue::__construct()函数?• 如何使用PHP中的trait能力• php对象转为数组的函数是什么• 深入了解PHP中的反射机制

    全部评论我要评论

  • 取消发布评论发送
  • 1/1

    PHP中文网