Mac下php 5升级到php 7的步骤详解


Posted in PHP onApril 26, 2017

前言

在MAC OS X 10.11中php的版本是5.5的,近来一年多里,看到了很多关于php7介绍,以为php7增加了很多新特性,也删除了原来很多的老特性,所以一直以来并没想去尝试使用php7,但今天去php官网上认真的看了一下php7的新特性,发现其实php7最大的提升在于性能,虽然在语法上增加了很多新特性,但不影响开发,并且能很好的兼容以前php的代码,在这里简要的说明一下php7的新特性,具体的说明请移步到官网去看。

移除的一些特性

     1.移除一些旧的扩展,被移迁移到了PECL(例如:mysql_*)

     2.移除SAPIs的支持

     3.<?<? language=“php”这样的标签被移除了

     4.16进制的字符串转换被废除了

//PHP5
"0x10" == "16"
 
//PHP7
"0x10" != "16"

     5.HTTP_RAW_POST_DATA移除了(可以使用php://input替代)

     6.静态函数里面不再支持通过一个不兼容的$this调用一个非静态的函数了

        $o = & new className{} ,不再支持这样的写法

     7.php.ini文件移除了#作为注释,统一用;去注释

新特性

  • ZEND引擎升级到Zend Engine 3,也就是所谓的PHP NG
  • 增加抽象语法树,使编译更加科学
  • 64位的INT支持
  • 统一的变量语法
  • 原声的TLS - 对扩展开发有意义
  • 一致性foreach循环的改进
  • 新增 <=>、**、?? 、\u{xxxx}操作符
  • 增加了返回类型的声明
  • 增加了标量类型的声明
  • 核心错误可以通过异常捕获了
  • 增加了上下文敏感的词法分析

说了这么多的废话,进入主题吧。

升级步骤如下:

1、升级php(在终端下执行)

curl -s http://php-osx.liip.ch/install.sh | bash -s 7.1

在终端下直到出现”Syntax OK”就说明安装成功了。这个时候,用phpinfo()函数,你可以看到PHP Version 7.1.0alpha2

2、解决mysql链接的问题,由于php7抛弃了mysql的扩展函数(mysql_*),所有的链接mysql都要使用pdo,而php7的pdo_mysql.default_socket默认路径是/tmp/mysql.sock,而mysql.sock的路径在/private/var/mysql/mysql.sock,所以需要做一个软连接到tmp文件夹,在终端下执行

cd /tmp
sudo ln -s /private/var/mysql/mysql.sock mysql.sock

如果解决以上错误,php链接数据库时会提示:SQLSTATE[HY000] [2002] No such file or directory

3、重启apache和mysql,这样就可以啦!

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对三水点靠木的支持。

PHP 相关文章推荐
用PHP提取中英文词语以及数字的首字母的方法介绍
Apr 23 PHP
深入PHP curl参数的详解
Jun 17 PHP
浅析Yii中使用RBAC的完全指南(用户角色权限控制)
Jun 20 PHP
浅析十款PHP开发框架的对比
Jul 05 PHP
提高PHP性能的编码技巧以及性能优化详细解析
Aug 24 PHP
PHP采用get获取url汉字出现乱码的解决方法
Nov 13 PHP
PHP从二维数组得到N层分类树的实现代码
Oct 11 PHP
PHP用mysql_insert_id()函数获得刚插入数据或当前发布文章的ID
Nov 25 PHP
Yii框架实现多数据库配置和操作的方法
May 25 PHP
PHP读取word文档的方法分析【基于COM组件】
Aug 01 PHP
使用laravel和ECharts实现折线图效果的例子
Oct 09 PHP
PHP加MySQL消息队列深入理解
Feb 27 PHP
PHP中时间加减函数strtotime用法分析
Apr 26 #PHP
yii2中dropDownList实现二级和三级联动写法
Apr 26 #PHP
MAC下通过改apache配置文件切换php多版本的方法
Apr 26 #PHP
PHP编程计算日期间隔天数的方法
Apr 26 #PHP
浅谈PHP中类和对象的相关函数
Apr 26 #PHP
详解PHP防止盗链防止迅雷下载的方法
Apr 26 #PHP
php数组实现根据某个键值将相同键值合并生成新二维数组的方法
Apr 26 #PHP
You might like
PHP实现域名whois查询的代码(数据源万网、新网)
2010/02/22 PHP
thinkphp中session和cookie无效的解决方法
2014/12/19 PHP
微信公众平台开发关注及取消关注事件的方法
2014/12/23 PHP
PHP实现CSV文件的导入和导出类
2015/03/24 PHP
简单理解PHP的面向对象编程方式
2016/05/17 PHP
php判断用户是否关注微信公众号
2016/07/22 PHP
PHP字符串和十六进制如何实现互相转换
2020/07/16 PHP
DEFER怎么用?
2006/07/01 Javascript
30个让人兴奋的视差滚动(Parallax Scrolling)效果网站
2012/03/04 Javascript
基于NodeJS的前后端分离的思考与实践(六)Nginx + Node.js + Java 的软件栈部署实践
2014/09/26 NodeJs
JavaScript数据结构和算法之图和图算法
2015/02/11 Javascript
JQuery select(下拉框)操作方法汇总
2015/04/15 Javascript
Bootstrap Chart组件使用教程
2016/04/28 Javascript
Bootstrap编写导航栏和登陆框
2016/05/30 Javascript
javascript验证内容为数字以及长度为10的简单实例
2016/08/20 Javascript
js 颜色选择插件
2017/01/23 Javascript
windows 下安装nodejs 环境变量设置
2017/02/02 NodeJs
基于Node.js的WebSocket通信实现
2017/03/11 Javascript
NodeJS 实现手机短信验证模块阿里大于功能
2017/06/19 NodeJs
jquery图片放大镜效果
2017/06/23 jQuery
JavaScript链式调用实例浅析
2018/12/19 Javascript
微信小程序引入Vant组件库过程解析
2019/08/06 Javascript
[57:47]Fnatic vs Winstrike 2018国际邀请赛小组赛BO2 第二场 8.18
2018/08/19 DOTA
[42:50]NB vs VP 2018国际邀请赛小组赛BO2 第二场 8.18
2018/08/19 DOTA
Python异常对代码运行性能的影响实例解析
2018/02/08 Python
pip命令无法使用的解决方法
2018/06/12 Python
一款利用纯css3实现的超炫3D表单的实例教程
2014/12/01 HTML / CSS
MVMT手表官方网站:时尚又实惠的高品质手表
2016/12/04 全球购物
物流管理毕业生自荐信
2013/10/24 职场文书
政府绩效管理实施方案
2014/05/04 职场文书
小学亲子活动总结
2014/07/01 职场文书
商场圣诞节活动总结
2015/05/06 职场文书
2016五一劳动节慰问信
2015/11/30 职场文书
销区经理年终述职报告模板
2019/11/28 职场文书
python 机器学习的标准化、归一化、正则化、离散化和白化
2021/04/16 Python
Pytorch 中net.train 和 net.eval的使用说明
2021/05/22 Python