ThinkPHP3.2.3从php5升级到php7的示例分析
本文将为大家详细介绍“ThinkPHP3.2.3从php5升级到php7的示例分析”,内容步骤清晰详细,细节处理妥当,而小编每天都会更新不同的知识点,希望这篇“ThinkPHP3.2.3从php5升级到php7的示例分析”能够给你意想不到的收获,请大家跟着小编的思路慢慢深入,具体内容如下,一起去收获新知识吧。
10年积累的网站制作、成都网站设计经验,可以快速应对客户对网站的新想法和需求。提供各种问题对应的解决方案。让选择我们的客户得到更好、更有力的网络服务。我虽然不认识你,你也不认识我。但先网站设计后付款的网站建设流程,更有青山免费网站建设让你可以放心的选择与我们合作。
thinkphp是什么
thinkphp属于一种免费的开发框架,能够用于开发前端网页,最早thinkphp是为了简化开发而产生的,thinkphp同时也是遵循Apache2协议,最初是从Struts演变过来,也把国外一些好的框架模式进行利用,使用面向对象的开发结构,兼容了很多标签库等模式,它能够更方便和快捷的开发和部署应用,当然不仅仅是企业级应用,任何php应用开发都可以从thinkphp的简单、兼容和快速的特性中受益。
首先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使用, 文件内容一样,此时升级之路总算完成。
如果你能读到这里,小编希望你对“ThinkPHP3.2.3从php5升级到php7的示例分析”这一关键问题有了从实践层面最深刻的体会,具体使用情况还需要大家自己动手实践使用过才能领会,如果想阅读更多相关内容的文章,欢迎关注创新互联行业资讯频道!
文章题目:ThinkPHP3.2.3从php5升级到php7的示例分析
转载注明:http://scyanting.com/article/gggshh.html