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 相关文章推荐
基于mysql的论坛(5)
Oct 09 PHP
PHP中几个常用的魔术常量
Feb 23 PHP
php pki加密技术(openssl)详解
Jul 01 PHP
PHP中nowdoc和heredoc使用需要注意的一点
Mar 21 PHP
ThinkPHP后台首页index使用frameset时的注意事项分析
Aug 22 PHP
PHP callback函数使用方法和注意事项
Jan 23 PHP
PHP结合Jquery和ajax实现瀑布流特效
Jan 07 PHP
配置Nginx+PHP的正确思路与过程
May 10 PHP
php实现微信扫码自动登陆与注册功能
Sep 22 PHP
php mysql like 实现多关键词搜索的方法
Oct 29 PHP
Thinkphp5框架实现获取数据库数据到视图的方法
Aug 14 PHP
PHP设计模式之迭代器模式Iterator实例分析【对象行为型】
Apr 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
德劲1103的维修打理经验
2021/03/02 无线电
php检测网页是否被百度收录的函数代码
2013/10/09 PHP
PHP延迟静态绑定示例分享
2014/06/22 PHP
PHP中的替代语法简介
2014/08/22 PHP
php5.3不能连接mssql数据库的解决方法
2014/12/27 PHP
Symfony2学习笔记之模板用法详解
2016/03/17 PHP
PhpStorm terminal无法输入命令的解决方法
2016/10/09 PHP
日期函数扩展类Ver0.1.1
2006/09/07 Javascript
JavaScript基本概念初级讲解论坛贴的学习记录
2009/02/22 Javascript
深入理解JavaScript定时机制
2010/10/29 Javascript
通过Jquery遍历Json的两种数据结构的实现代码
2011/01/19 Javascript
火狐4、谷歌12不支持Jquery Validator的解决方法分享
2011/06/20 Javascript
jquery实现图片灯箱明暗的遮罩效果
2013/11/15 Javascript
javascript实现存储hmtl字符串示例
2014/04/25 Javascript
javascript搜索框点击文字消失失焦时文本出现
2014/09/18 Javascript
jQuery插件slicebox实现3D动画图片轮播切换特效
2015/04/12 Javascript
Javascript删除指定元素节点的方法
2016/06/21 Javascript
深入浅析Nodejs的Http模块
2017/06/20 NodeJs
十大 Node.js 的 Web 框架(快速提升工作效率)
2017/06/30 Javascript
Vue中的Props(不可变状态)
2018/09/29 Javascript
vue项目设置scrollTop不起作用(总结)
2018/12/21 Javascript
基于JS实现前端压缩上传图片的实例代码
2019/05/14 Javascript
简单说明Python中的装饰器的用法
2015/04/24 Python
python获取外网ip地址的方法总结
2015/07/02 Python
浅谈python 线程池threadpool之实现
2017/11/17 Python
快速了解Python中的装饰器
2018/01/11 Python
python交互模式基础知识点学习
2020/06/18 Python
python动态规划算法实例详解
2020/11/22 Python
基于 HTML5 WebGL 实现的垃圾分类系统
2019/10/08 HTML / CSS
为什么要用EJB
2014/04/17 面试题
Java软件工程师综合面试题笔试题
2013/09/08 面试题
老干部工作汇报材料
2014/10/28 职场文书
社区活动总结
2015/02/04 职场文书
小学教师岗位职责
2015/04/02 职场文书
开国大典观后感
2015/06/04 职场文书
Python连接Postgres/Mysql/Mongo数据库基本操作大全
2021/06/29 Python