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的分页功能
Mar 21 PHP
谈PHP生成静态页面分析 模板+缓存+写文件
Aug 17 PHP
PHP 源代码压缩小工具
Dec 22 PHP
openPNE常用方法分享
Nov 29 PHP
Linux编译升级php的详细方法
Nov 04 PHP
Codeigniter上传图片出现“You did not select a file to upload”错误解决办法
Jun 12 PHP
ThinkPHP中关联查询实例
Dec 02 PHP
PHP使用array_multisort对多个数组或多维数组进行排序
Dec 16 PHP
PHP开发之归档格式phar文件概念与用法详解【创建,使用,解包还原提取】
Nov 17 PHP
PHP 使用二进制保存用户状态的实例
Jan 29 PHP
PHP Primary script unknown 解决方法总结
Aug 22 PHP
laravel通用化的CURD的实现
Dec 13 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注入点构造代码
2008/06/14 PHP
PHP获取163、gmail、126等邮箱联系人地址【已测试2009.10.10】
2009/10/11 PHP
简单的php缓存类分享     php缓存机制
2014/01/22 PHP
PHP实现文件下载断点续传详解
2014/10/15 PHP
php构造方法中析构方法在继承中的表现
2016/04/12 PHP
php结合md5的加密解密算法实例
2016/09/30 PHP
CL vs ForZe BO5 第一场 2.13
2021/03/10 DOTA
escape、encodeURI、encodeURIComponent等方法的区别比较
2006/12/27 Javascript
利用JS自动打开页面上链接的实现代码
2011/09/25 Javascript
jQuery中fadeIn、fadeOut、fadeTo的使用方法(图片显示与隐藏)
2013/05/08 Javascript
使用indexOf等在JavaScript的数组中进行元素查找和替换
2013/09/18 Javascript
javascript 数组排序函数sort和reverse使用介绍
2013/11/21 Javascript
javascript学习笔记--数字格式类型
2014/05/22 Javascript
JS通过ajax动态读取xml文件内容的方法
2015/03/24 Javascript
深入理解jquery跨域请求方法
2016/05/18 Javascript
javascript基础知识讲解
2017/01/11 Javascript
深入理解Vue2.x的虚拟DOM diff原理
2017/09/27 Javascript
JavaScript运行原理分析
2018/02/09 Javascript
javascript动态创建对象的属性详解
2018/11/07 Javascript
微信小程序配置服务器提示验证token失败的解决方法
2019/04/03 Javascript
Websocket 向指定用户发消息的方法
2020/01/09 Javascript
[03:57]《不朽》——2015DOTA2国际邀请赛—中国军团出征主题曲MV
2015/07/15 DOTA
[01:07:19]2018DOTA2亚洲邀请赛 4.5 淘汰赛 Mineski vs VG 第一场
2018/04/06 DOTA
[13:16]INFAMOUS vs VGJ T BO3
2018/06/07 DOTA
[03:04]2018年度DOTA2玩家最喜爱的主播-完美盛典
2018/12/16 DOTA
python中使用pyhook实现键盘监控的例子
2014/07/18 Python
在Python的Flask框架下收发电子邮件的教程
2015/04/21 Python
在Pycharm terminal中字体大小设置的方法
2019/01/16 Python
Python threading的使用方法解析
2019/08/28 Python
Python ORM框架Peewee用法详解
2020/04/29 Python
详解Css3新特性应用之过渡与动画
2017/01/10 HTML / CSS
Java TransactionAPI (JTA) 主要包含几部分
2012/12/07 面试题
幼儿园大班毕业感言
2014/02/06 职场文书
挂职学习心得体会
2014/09/09 职场文书
运动会观后感
2015/06/09 职场文书
2016学习全国教书育人楷模先进事迹心得体会
2016/01/21 职场文书