前言

在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进制的字符串转换被废除了

?
1
2
3
4
5
//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(在终端下执行)

?
1
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文件夹,在终端下执行

?
1
2
cd /tmp
sudo ln -s /private/var/mysql/mysql.sock mysql.sock

如果解决以上错误,php链接数据库时会提示:SQLSTATE[HY000] [2002] No such file or directory

3、重启apache和mysql,这样就可以啦!

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对脚本之家的支持。

Mac下php 5升级到php 7的步骤详解相关推荐

  1. Win7下U盘安装Ubuntu14.04双系统步骤详解 | 浏览:42144 | 更新:2014-05-24 18:09 | 标

    参考网站https://jingyan.baidu.com/article/76a7e409bea83efc3b6e1507.html 笔者由于工作需要使用LINUX系统,之前通过Win7上的VM虚拟 ...

  2. linux环境下创建postgis数据库,linux下搭建postgresql、postgis、pg_pathman环境步骤详解...

    操作系统:centOS6.6 安装postgreSQL9.6.2 安装命令: ./postgresql-9.6.3-2-linux-x64.run 之后按照图形界面操作安装,语言选择zh_CN UTF ...

  3. linux环境下将nginx编译安装至指定目录步骤详解

    1.下载nginx(linux版本) 下载地址见:http://nginx.org/download/ 2.安装nginx编译环境 # yum -y install gcc-c++ # yum -y ...

  4. Mac下python2.7 升级到3.7

    博客 学院 下载 图文课 论坛 APP 问答 商城 VIP会员 活动 招聘 ITeye GitChat 写博客 赚零钱 消息 原 Mac下升级python2.7到python3.6 2017年04月0 ...

  5. linux系统下安装pip3,linux下安装python3和对应的pip环境教程详解

    linux下安装python3和对应的pip环境教程详解 1.下载python3.6的安装包: 2.解压后,进入到解压目录下,执行如下命令,将python3.6进行编译,如下是将python的环境编译 ...

  6. oracle表稅片整理,oracle_Oracle表碎片整理操作步骤详解,高水位线(HWL)下的许多数据 - phpStudy...

    Oracle表碎片整理操作步骤详解 高水位线(HWL)下的许多数据块都是无数据的,但全表扫描的时候要扫描到高水位线的数据块,也就是说oracle要做许多的无用功!因此oracle提供了shrink s ...

  7. linux centos7 mysql_Linux centos7环境下安装MySQL的步骤详解

    Linux centos7环境下安装MySQL的步骤详解 安装MySQL mysql 有两个跟windows不同的地方 1).my.ini 保存到/etc/my.ini 2).用户权限,单独用户执行 ...

  8. mac python3.8上怎么安装pygame 第三方库_Python3.8安装Pygame Python3.8安装Pygame教程步骤详解...

    想了解Python3.8安装Pygame教程步骤详解的相关内容吗,孤傲小二~阿沐在本文为您仔细讲解Python3.8安装Pygame的相关知识和一些Code实例,欢迎阅读和指正,我们先划重点:Pyth ...

  9. linux安装python3教程_linux下安装python3和对应的pip环境教程详解

    1.下载python3.6的安装包: 2.解压后,进入到解压目录下,执行如下命令,将python3.6进行编译,如下是将python的环境编译到/usr/local/python3的目录下,注意先创建 ...

最新文章

  1. RabbitMQ 入门系列(1)— Ubuntu 安装 RabbitMQ 及配置
  2. R语言ggplot2在可视化图像中添加横线并在横线中添加文本、为横线中添加的文本添加文本框、自定义文本框的填充色(background color for a text annotation)
  3. 基于python物流管理系统毕业设计-Python程序设计实验报告八:文件
  4. objective-c高级编程 笔记
  5. python 全栈开发,Day36(作业讲解(大文件下载以及进度条展示),socket的更多方法介绍,验证客户端链接的合法性hmac,socketserver)...
  6. 120分的转录组试题,你能得多少
  7. [10.2模拟] book
  8. 限时|领取黄博士整理的人工智能数学资料
  9. SAP License:如何导入License
  10. 有人问李嘉诚的儿子李泽楷:“你父亲都教了你哪些成功赚钱的秘诀?”
  11. Glib2之dbus用法(五)
  12. 常用js或jq效果汇总
  13. 2022-2028全球民宿行业调研及趋势分析报告
  14. [教程] MPICH2 Win7 VS2008环境搭建
  15. [转转转]面试常见逻辑推理题目及答案整理
  16. iterative(迭代的) 和recursive(递归的)的区别
  17. serv-u 用户时间显示相差8小时_调好闹钟!4月8日凌晨,将迎来今年最大满月
  18. Unity 计算屏幕视口UV坐标的几种方法
  19. Docker环境undertow线程数不足问题探究
  20. 扦插技术图解_爱之蔓平卧扦插法(图解)

热门文章

  1. linux内核网络协议栈--ip层报文转发之ip_local_out()函数(六)
  2. out.print 嵌套html代码_Shiny与HTML
  3. JVM(六)为什么新生代有两个Survivor分区?
  4. Mac-连接Windows远程桌面软件
  5. Android--获取apk大小
  6. 引以为戒,特斯拉Kubernetes控制台被黑客攻击
  7. 号外号外!RancherOS v1.2.0发布啦!
  8. JVM调优总结(2):一些概念(下)
  9. Linux集群系统Heartbeat
  10. android电话拨号器