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中防止直接访问或查看或下载config.php文件的方法
Jul 07 PHP
用PHP即时捕捉PHP中的错误并发送email通知的实现代码
Jan 19 PHP
php调用shell的方法
Nov 05 PHP
php+xml结合Ajax实现点赞功能完整实例
Jan 30 PHP
PHP实现动态web服务器方法
Jul 29 PHP
php需登录的文件上传管理系统
Mar 21 PHP
Codeigniter控制器controller继承问题实例分析
Jan 19 PHP
PHP+MySQL统计该库中每个表的记录数并按递减顺序排列的方法
Feb 15 PHP
php封装的单文件(图片)上传类完整实例
Oct 18 PHP
php实现微信扫码支付
Mar 26 PHP
用PHP做了一个领取优惠券活动的示例代码
Jul 05 PHP
PHP中散列密码的安全性分析
Jul 26 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
CI框架中数据库操作函数$this-&gt;db-&gt;where()相关用法总结
2016/05/17 PHP
PHP实现通过strace定位故障原因的方法
2018/04/29 PHP
PHP实现上传图片到数据库并显示输出的方法
2018/05/31 PHP
functional继承模式 摘自javascript:the good parts
2011/06/20 Javascript
Jsonp 跨域的原理以及Jquery的解决方案
2011/06/27 Javascript
JQuery扩展插件Validate—6 radio、checkbox、select的验证
2011/09/05 Javascript
js弹出确认是否删除对话框
2014/03/27 Javascript
JavaScript正则表达式之multiline属性的应用
2015/06/16 Javascript
基于jQuery实现点击弹出层实例代码
2016/01/01 Javascript
Bootstrap3使用typeahead插件实现自动补全功能
2016/07/07 Javascript
Vue.js实现在下拉列表区域外点击即可关闭下拉列表的功能(自定义下拉列表)
2017/05/30 Javascript
浅谈关于.vue文件中style的scoped属性
2017/08/19 Javascript
[00:34]TI7不朽珍藏III——纯金地穴编织者饰品展示
2017/07/15 DOTA
[01:10]为家乡而战!完美世界城市挑战赛全国总决赛花絮
2019/07/25 DOTA
python益智游戏计算汉诺塔问题示例
2014/03/05 Python
python中的__init__ 、__new__、__call__小结
2014/04/25 Python
python监控网卡流量并使用graphite绘图的示例
2014/04/27 Python
用Python生成器实现微线程编程的教程
2015/04/13 Python
python中获得当前目录和上级目录的实现方法
2017/10/12 Python
python实现一个简单的并查集的示例代码
2018/03/19 Python
python Event事件、进程池与线程池、协程解析
2019/10/25 Python
Python自动化之UnitTest框架实战记录
2020/09/08 Python
python利用opencv实现颜色检测
2021/02/23 Python
css3闪亮进度条效果实现思路及代码
2013/04/17 HTML / CSS
关键字final的用法
2013/10/02 面试题
医学院毕业生自荐信范文
2014/03/06 职场文书
工伤赔偿协议书范本
2014/04/15 职场文书
效能监察建议书
2014/05/19 职场文书
学校组织向国旗敬礼活动方案(中小学适用)
2014/09/27 职场文书
获奖感言范文
2015/07/31 职场文书
2016大学生暑期社会实践心得体会
2016/01/14 职场文书
电力安全学习心得体会
2016/01/18 职场文书
python本地文件服务器实例教程
2021/05/02 Python
python正则表达式re.search()的基本使用教程
2021/05/21 Python
Meta增速拉垮,元宇宙难当重任
2022/04/29 数码科技
Win10服务主机占用内存怎么办?Win10服务主机进程占用大量内存解决方法
2022/09/23 数码科技