Mac下php 5升级到php 7的步骤详解

 更新时间:2017年04月26日 10:48:58   作者:小忆  
这篇文章主要给大家介绍了在Mac下将php 5升级到php 7的步骤,文中将步骤介绍的非常详细,并分享了在升级过程中可能遇到的问题的解决方法,需要的朋友可以参考借鉴,下面来一起看看吧。

前言

在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中的数组操作函数整理

    PHP 中的数组实际上是一个有序图。图是一种把 values 映射到 keys 的类型。此类型在很多方面做了优化,因此可以把它当成真正的数组来使用,或列表(矢量),散列表(是图的一种实现),字典,集合,栈,队列以及更多可能性。因为可以用另一个 PHP 数组作为值,也可以很容易地模拟树。
    2008-08-08
  • 最令PHP初学者们头痛的十四个问题

    最令PHP初学者们头痛的十四个问题

    最令PHP初学者们头痛的十四个问题...
    2007-01-01
  • 国外十大最流行的PHP框架排名

    国外十大最流行的PHP框架排名

    本文来自国外的一个PHP技术人员网站,总结了国外的十个目前最流行的PHP MVC框架。具体排名顺序未必准确,还有些知名框架,如Kohana等也没有提及。不过仍可以做为一篇不错的参考
    2013-07-07
  • thinkphp 一个页面使用2次分页的实现方法

    thinkphp 一个页面使用2次分页的实现方法

    thinkphp内置ORG.Util.Page方法分页,使分页变得非常简单快捷。 但是如果一个页面里需要使用2次分页,就会产生冲突,这里先记录下百度来的解决办法。需要的朋友可以参考下
    2013-07-07
  • PHP实现二维数组(或多维数组)转换成一维数组的常见方法总结

    PHP实现二维数组(或多维数组)转换成一维数组的常见方法总结

    这篇文章主要介绍了PHP实现二维数组(或多维数组)转换成一维数组的常见方法,结合实例形式总结分析了PHP数组遍历、转换所涉及的array_reduce、array_walk_recursive及array_map函数常见使用技巧,需要的朋友可以参考下
    2019-12-12
  • php实现查询百度google收录情况(示例代码)

    php实现查询百度google收录情况(示例代码)

    对了貌似查google pr的东西只是file一个地址而已,如此说了就没有什么难度了。完整代码如下
    2013-08-08
  • PHP开发技巧之PHAR反序列化详解

    PHP开发技巧之PHAR反序列化详解

    这篇文章主要为大家介绍了PHP开发技巧之PHAR反序列化详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-10-10
  • php获取ajax的headers方法与内容实例

    php获取ajax的headers方法与内容实例

    下面小编就为大家分享一篇php获取ajax的headers方法与内容实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2017-12-12
  • asp.net和php的区别点总结

    asp.net和php的区别点总结

    在本篇文章里小编给大家分享了关于asp.net和php的区别的相关知识点,需要的朋友们可以分享下。
    2019-10-10
  • 浅谈Laravel中如何对大文件进行加密

    浅谈Laravel中如何对大文件进行加密

    在Laravel项目中,用户可以上传任何大小的文件,出于安全目的,需要对这些文件进行静态加密。Laravel提供encryption, 但它们主要用于加密值。 使用encrypt助手方法对像图像文件进行加密可以很好地工作,文件内容需要加载到内存中,对于大文件来说是个问题。
    2021-05-05

最新评论