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 相关文章推荐
在Zeus Web Server中安装PHP语言支持
Oct 09 PHP
一个改进的UBB类
Oct 09 PHP
PHP HTML代码串 截取实现代码
Jun 29 PHP
PHP 身份验证方面的函数
Oct 11 PHP
深入HTTP响应状态码速查表的详解
Jun 07 PHP
浅析PHP中的UNICODE 编码与解码
Jun 29 PHP
ThinkPHP自动填充实现无限级分类的方法
Aug 22 PHP
php_imagick实现图片剪切、旋转、锐化、减色或增加特效的方法
Dec 15 PHP
php模仿asp Application对象在线人数统计实现方法
Jan 04 PHP
php邮箱地址正则表达式验证
Nov 13 PHP
yii2 页面底部加载css和js的技巧
Apr 21 PHP
详细解读php的命名空间(一)
Feb 21 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
How do I change MySQL timezone?
2008/03/26 PHP
php去掉字符串的最后一个字符附substr()的用法
2011/03/23 PHP
PHP调用存储过程返回值不一致问题的解决方法分析
2016/04/26 PHP
php 防止表单重复提交两种实现方法
2016/11/03 PHP
php实现简单加入购物车功能
2017/03/07 PHP
浅谈PHPANALYSIS提取关键字
2019/03/08 PHP
JavaScript window.setTimeout() 的详细用法
2009/11/04 Javascript
为radio类型的INPUT添加客户端脚本(附加实现JS来禁用onClick事件思路代码)
2010/11/11 Javascript
关于JavaScript中的关联数组分析
2013/04/09 Javascript
javascript模拟post提交隐藏地址栏的参数
2014/09/03 Javascript
jQuery判断多个input file 都不能为空的例子
2015/06/23 Javascript
浅谈JavaScript中setInterval和setTimeout的使用问题
2015/08/01 Javascript
jquery实现选中单选按钮下拉伸缩效果
2015/08/06 Javascript
JavaScript判断数字是否为质数的方法汇总
2016/06/02 Javascript
html中通过JS获取JSON数据并加载的方法
2017/11/30 Javascript
p5.js实现动态图形临摹
2019/10/23 Javascript
[02:59]2014DOTA2西雅图国际邀请赛 圆满落幕中国夺冠
2014/07/23 DOTA
[01:02]DOTA2上海特锦赛SHOWOPEN
2016/03/25 DOTA
python判断端口是否打开的实现代码
2013/02/10 Python
python数字图像处理之高级滤波代码详解
2017/11/23 Python
python3.7.0的安装步骤
2018/08/27 Python
Python文件打开方式实例详解【a、a+、r+、w+区别】
2019/03/30 Python
Python使用QQ邮箱发送邮件实例与QQ邮箱设置详解
2020/02/18 Python
Python实现疫情通定时自动填写功能(附代码)
2020/05/27 Python
六种酷炫Python运行进度条效果的实现代码
2020/07/17 Python
利用Python实现最小二乘法与梯度下降算法
2021/02/21 Python
城野医生官方海外旗舰店:风靡亚洲毛孔收敛水
2018/04/26 全球购物
幼儿园的门卫岗位职责
2014/04/10 职场文书
管理标语大全
2014/06/24 职场文书
九一八事变纪念日演讲稿
2014/09/14 职场文书
罚站检讨书
2015/01/29 职场文书
自荐信模板大全
2015/03/27 职场文书
单位综合评价意见
2015/06/05 职场文书
《彼得与狼》教学反思
2016/02/20 职场文书
如何才能写好调研报告?
2019/07/03 职场文书
vue3使用vue-router的完整步骤记录
2021/06/20 Vue.js