VIP用户交流群:462197261热门标签收藏本站北冥有鱼 互联网前沿资源第一站 助力全行业互联网+
在线客服:78895949
  • 当前位置:
  • 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,这样就可以啦!

    总结

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


    广而告之:
    热门推荐:
    javascript简易画板开发

    本文实例为大家分享了制作javascript简易画板的方法,供大家参考,具体内容如下 html: <body id="bodys"> <span id="eraser"> 清除所有 </span> <span id="colorbtn"> 笔画颜色 </span> <input type="range" name="ram" id="ram" min="1" m···

    vue ssr 实现方式(学习笔记)

    为什么要写本文呢,话说现在vue-ssr 官网上对 vue 服务端渲染的介绍已经很全面了,包括各种服务端渲染框架比如 Nuxt.js 、 集成 Koa 和vue-server-renderer 的 node.js 框架 egg.js,都有自己的官网和团队在维护,文档真是面面俱到功能强大,但是,我个人在刚开始看这些资料的···

    thinkPHP3.2使用RBAC实现权限管理的实现

    在thinkphp3.2中自己集成了RBAC来实现权限管理,RBAC实现类在项目中地址为:ThinkPHP/Librar/Org/Util/Rbac.class.php,其中集成了我们所需的权限管理操作 一:表设计 在thinkPHP的Rbac的的Rbac.class.php文件中一共提供了4张表,还有一张用户表需要你自己去建 如下是我所建的···

    基于JavaScript实现百度搜索框效果

    本文实例为大家分享了js实现百度搜索框展示效果的具体代码,供大家参考,具体内容如下 具体代码如下: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> <style> *{ margin:0; ···

    Angular-Touch库用法示例

    本文实例讲述了Angular-Touch库用法。分享给大家供大家参考,具体如下: Angular-touch库用的不多,网上的例子也不多。写个触屏滑动的事件。 先在页面上弄个div <div id="content" align="center" ng-app="imageApp" image-controller=""> <p style="position: a···

    Bootstrap Modal遮罩弹出层代码分享

    下面这段代码并非是Bootstrap的遮罩,只是简单版的遮罩效果,Bootstrap那个太啰嗦了。如果你钟情Bootstrap的那个遮罩,来看看这篇文章“完全版:Bootstrap弹出层遮罩”。 <div class="theme-popover"> <div class="theme-poptit"> <a href="javascript:void(0);"···

    mongo Table类文件 获取MongoCursor(游标)的实现方法分析

    MongoCursor Object 游标类 MongoConfig.php配置文件Table.php(mongodb操作数据库类文件) Config.php配置文件复制代码 代码如下:<?phprequire_once 'Zend/Exception.php';class Hrs_Mongo_Config{    const VERSION = '1.7.0';    co···

    VUE项目初建和常见问题总结

    拿猫眼为例: 步骤: 需要预装node.js 1. 查看node版本,控制台输入 node -v v10.16.1 2. 查看vue版本 vue -V (Vue不是内部或外部命令...)--执行步骤3 3. 安装@vue/cli脚手架 npm i -g @vue/cli   4. 创建新项目 vue create maoyan 1.Please pick a preset: Manual···

    xmlplus组件设计系列之路由(ViewStack)(7)

    在浏览器端,对路由的理解一般是根据不同的 URL 完成页面的切换。在服务器端,则是根据不同的 URL 请求回馈相关的页面。在本章,我们广义的组件路由的定义:根据接收到的不同命令,组件对象呈现出不同的子级页面。在这里将介绍与路由相关的一个组件,即视图栈 ViewStack。 视图···