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版(3)
Oct 09 PHP
PHP XML操作的各种方法解析(比较详细)
Jun 17 PHP
通过PHP修改Linux或Unix口令的方法分享
Jan 30 PHP
php引用返回与取消引用的详解
Jun 08 PHP
新手菜鸟必读:session与cookie的区别
Aug 22 PHP
php把session写入数据库示例
Feb 26 PHP
PHP中array_map与array_column之间的关系分析
Aug 19 PHP
PHP依赖倒置(Dependency Injection)代码实例
Oct 11 PHP
PHP使用mysql与mysqli连接Mysql数据库用法示例
Jul 07 PHP
Laravel使用消息队列需要注意的一些问题
Dec 13 PHP
PHP实现的装箱算法示例
Jun 23 PHP
PHP7新特性之抽象语法树(AST)带来的变化详解
Jul 17 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 日期和时间的处理-郑阿奇(续)
2011/07/04 PHP
基于php在各种web服务器的运行模式详解
2013/06/03 PHP
学习php中的正则表达式
2014/08/17 PHP
php+mysqli批量查询多张表数据的方法
2015/01/29 PHP
Laravel框架路由设置与使用示例
2018/06/12 PHP
PHP大文件及断点续传下载实现代码
2020/08/18 PHP
ASP.NET中AJAX 调用实例代码
2012/05/03 Javascript
js获取窗口相对于屏幕左边和上边的位置坐标
2014/05/15 Javascript
Jquery焦点图实例代码
2014/11/25 Javascript
js实现数字每三位加逗号的方法
2015/02/05 Javascript
关注jquery技巧提高jquery技能(前端开发必学)
2015/11/02 Javascript
超实用的javascript时间处理总结
2016/08/16 Javascript
AngularJS开发教程之控制器之间的通信方法分析
2016/12/25 Javascript
ES6中Proxy与Reflect实现重载(overload)的方法
2017/03/30 Javascript
bootstrap confirmation按钮提示组件使用详解
2017/08/22 Javascript
使用vue实现多规格选择实例(SKU)
2019/08/23 Javascript
layer更改皮肤的实现方法
2019/09/11 Javascript
浅谈TypeScript的类型保护机制
2020/02/23 Javascript
JS指定音频audio在某个时间点进行播放
2020/11/28 Javascript
javascript中闭包closure的深入讲解
2021/03/03 Javascript
Python实现国外赌场热门游戏Craps(双骰子)
2015/03/31 Python
python僵尸进程产生的原因
2017/07/21 Python
python遍历序列enumerate函数浅析
2017/10/17 Python
python3文件复制、延迟文件复制任务的实现方法
2019/09/02 Python
pandas factorize实现将字符串特征转化为数字特征
2019/12/19 Python
django filter过滤器实现显示某个类型指定字段不同值方式
2020/07/16 Python
浅谈Python __init__.py的作用
2020/10/28 Python
解决pytorch 保存模型遇到的问题
2021/03/03 Python
Html5原生拖拽相关事件简介以及基础实现
2020/11/19 HTML / CSS
巴黎欧莱雅法国官网:L’Oreal Paris
2019/04/30 全球购物
个人委托书如何写
2014/09/25 职场文书
大一新生检讨书
2014/10/29 职场文书
2015年纪委工作总结
2015/05/13 职场文书
舞出我人生观后感
2015/06/16 职场文书
2019年中学生的思想品德评语集锦
2019/12/19 职场文书
写好Python代码的几条重要技巧
2021/05/21 Python