当前位置: 首页 > news >正文

PHP 7.0.4 Windows升级

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

php 7.0.4 windows发布了,因为kephp里面有几个地方对这次修改的bug依赖,所以第一时间先升级了。

这次升级,openssl从f升级到g了,所以如果你的php发布运行环境是基于windows的,请记得更新openssl相关的.dll文件。

升级步骤,比较粗暴简单(我本机是xampp php x86 ts):

  1. 先停止了当前的xampp的apache。

  2. 下载http://windows.php.net/downloads/releases/php-7.0.4-Win32-VC14-x86.zip

  3. 将里面的内容全部解压到当前xampp目录下的php,当前前提是这个目录之前就是php7的,如果是php5,别这么搞。这样就不用修改php.ini,ext等配置的内容了。

  4. 将php目录下的ssleay32.dll和libeay32.dll文件复制到apache/bin目录下,覆盖原来文件。

  5. 启动xampp的apache

openssl 1.0.2g

164831_Vdt3_57579.png

php-7.0.4

164939_ka7T_57579.png

extension/imagick

165028_KQwE_57579.png

7.0.4修正了ArrayObject无法访问对象的private属性的问题,finfo_file对特定的内容的文件识别报Notice错误。不过貌似realpath在phar包下无法正确识别路径的问题仍未修复。

realpath在phar下的识别,是一个颇严重的bug。详情可见此文件:http://git.oschina.net/kephp/kephp/blob/master/misc/issues/realpath_in_phar.php

简单说,就是在phar包内的路径,直接用realpath('phar://file'),他会返回一个false的值,但实际上,这个false只是表面值,他实际上是一个有效的路径,你只要做一层判断就能绕过这个问题:

function let_it_work(string $path)
{
	$realPath = realpath($path);
	if ($realPath !== false) {
		$path = $realPath;
	}
	return $path;
}

经过这个函数,会发现结果又正确了,这不能不说是一个相当诡异的问题。

以上,完毕。

转载于:https://my.oschina.net/janpoem/blog/630487

相关文章:

  • 发现一个nginx LUA开发Web App的框架
  • golang笔记——string
  • 【转】Android Support v4、v7、v13的区别和应用场景
  • 【HDOJ】4326 Game
  • js 定义类对象
  • Android 解决onInterceptTouchEvent只能拦截到Down事件
  • 本地使用SVN编辑发布远程SAE工程
  • Oracle_spatial的空间操作符介绍
  • 用JavaScript代码实现Excel表格的办法
  • 今天开始学习python
  • Robotium入门
  • permutation II (boss出来了)
  • Nginx在Window下的使用笔记
  • linux编程之GDB调试
  • 数组、指针
  • 2018天猫双11|这就是阿里云!不止有新技术,更有温暖的社会力量
  • Dubbo 整合 Pinpoint 做分布式服务请求跟踪
  • iOS小技巧之UIImagePickerController实现头像选择
  • js算法-归并排序(merge_sort)
  • 闭包,sync使用细节
  • 诡异!React stopPropagation失灵
  • 技术:超级实用的电脑小技巧
  • 如何用Ubuntu和Xen来设置Kubernetes?
  • 实战|智能家居行业移动应用性能分析
  • puppet连载22:define用法
  • 组复制官方翻译九、Group Replication Technical Details
  • #define MODIFY_REG(REG, CLEARMASK, SETMASK)
  • #我与Java虚拟机的故事#连载10: 如何在阿里、腾讯、百度、及字节跳动等公司面试中脱颖而出...
  • #我与Java虚拟机的故事#连载13:有这本书就够了
  • ()、[]、{}、(())、[[]]等各种括号的使用
  • (1/2) 为了理解 UWP 的启动流程,我从零开始创建了一个 UWP 程序
  • (1综述)从零开始的嵌入式图像图像处理(PI+QT+OpenCV)实战演练
  • (9)YOLO-Pose:使用对象关键点相似性损失增强多人姿态估计的增强版YOLO
  • (附源码)apringboot计算机专业大学生就业指南 毕业设计061355
  • (附源码)ssm高校升本考试管理系统 毕业设计 201631
  • (三)c52学习之旅-点亮LED灯
  • (十三)Flask之特殊装饰器详解
  • (四)汇编语言——简单程序
  • (转)visual stdio 书签功能介绍
  • (转载)Google Chrome调试JS
  • .cfg\.dat\.mak(持续补充)
  • .NET NPOI导出Excel详解
  • .NET 发展历程
  • .net 验证控件和javaScript的冲突问题
  • .NET开源项目介绍及资源推荐:数据持久层
  • .NET命名规范和开发约定
  • .NET中使用Redis (二)
  • @autowired注解作用_Spring Boot进阶教程——注解大全(建议收藏!)
  • @FeignClient 调用另一个服务的test环境,实际上却调用了另一个环境testone的接口,这其中牵扯到k8s容器外容器内的问题,注册到eureka上的是容器外的旧版本...
  • @serverendpoint注解_SpringBoot 使用WebSocket打造在线聊天室(基于注解)
  • [ Linux Audio 篇 ] 音频开发入门基础知识
  • []sim300 GPRS数据收发程序
  • [2016.7 test.5] T1
  • [boost]使用boost::function和boost::bind产生的down机一例
  • [BZOJ 3680]吊打XXX(模拟退火)