php7.1 php mysql.dll_PHP5切换PHP7的一些注意事项(丢失 VCRUNTIME140.dll)

前言

2019年1月1日起,PHP 5.6 已经不再有官方安全支持。

2018年12月1日起,PHP 7.0 已经不再有官方安全支持。

AAffA0nNPuCLAAAAAElFTkSuQmCC

2019年12月1日,再过不到1年,PHP 7.1 也会结束支持,所以建议大家有条件的还是尽快切换PHP 7.2 为妙。当然,在迁移之前也务必要做好代码数据备份以及准备工作,也要做好可能重构的心里准备。

近期把一台旧服务器的换了PHP7,结果遇到了 丢失 VCRUNTIME140.dll 错误,把这个错误解决方案附上之后,也顺便提一些基本的注意事项。

决策:我需不需要PHP7 ?

如果你的网站非常重要,安全漏洞会引发致命问题

如果你希望自己的网站性能更强

如果你的网站PHP代码有比较好的结构或框架

请继续阅读后半部分,并且开始学习PHP7的新特性进行网站的迁移与维护。

如果你的网站使用着非常旧版本的小众数据库以及驱动

如果服务器用的是非常旧版本的 Windows Server 2010 甚至更老的版本

如果网站用的Apache或Nginx或IIS都是非常老旧的版本,并且集成了其他一些重要的内容。

建议一锅端根据功能全部一起重构弄一次大升级,或者保持原有PHP5并且加强安全方面的排查,定时关注官方以及论坛的安全漏洞反馈。

迁移:我需要事先知道什么?

版本升级意味着可能出现不兼容的情况,所以必须要事先了解下面的内容:

语法差异

弃用的用法,以及语言新特性

不再支持的驱动与拓展

新版本所需要新驱动与拓展

与其他内容的兼容性

了解新内容

PHP官方给了最新的迁移说明,请查阅 http://php.net/manual/zh/appendices.php 的内容,了解5.6 - 7.0 - 7.1 - 7.2 -7.3 的新内容,建议最好迁移到 7.2 以上。

AAffA0nNPuCLAAAAAElFTkSuQmCC

查询数据库支持与框架支持

如果要升级,务必要确认目前业务里的其他内容不受影响,特别是数据库和框架。

AAffA0nNPuCLAAAAAElFTkSuQmCC

框架方面,TP3兼容, TP5.0兼容, TP 5.1之后支持, Laravel 5.3之后支持,具体会不会出bug请参考论坛以及其他问答社区。

系统支持

主要检查自己当前的 LInux系统版本或者Windows Server 里面的相关拓展有没有安装。比如有一个比较常见的升级错误,丢失 VCRUNTIME140.dll 。

丢失 VCRUNTIME140.dll 错误

这个错误有点隐蔽,不会在php中报错,而是直接显示500错误,当在命令行中执行php指令时,则会弹窗提示

无法启动此程序,因为计算机中丢失 VCRUNTIME140.dll。尝试重新安装改程序以解决此问题。

原因是Visual C++Redistributable 2015没有安装,之前可能用PHP5只是装了2010或2008的版本,导致的错误。解决方法也很简单,重新下载安装即可。

切换语言,重新部署

前面基本的准备工作做好之后,换语言到其实是很简单的事情了。无非就是下面几个事情

下载php7的语言包,解压到服务器的开发目录下

调整php7的php.ini配置文件(error_log, debug_mode, ext_dir都进行对应调整)

切换php的系统路径与应用程序路径

保证所需的php拓展正常安装与运行

系统路径:

如果是linux直接改对应的系统配置文件即可,win则是在 此电脑-高级设置-添加环境变量 里面调整。

应用路径

Apache或者Nginx的直接改配置路径即可,对应路径参数改成最新下载下来的PHP7路径即可。

IIS则在对应的网站里,打开 IIS管理器 - 处理程序映射 ,找到原本的 FastCgiModule模块,点击右方的编辑,把里面的可执行文件(可选)(E): 的文件路径,改成最新下载下来的PHP7路径即可。

最后放上调整过的新代码,撤下旧版本代码时务必备份,完事大吉。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值