交流群:462197261站长百科站长论坛热门标签收藏本站北冥有鱼 互联网前沿资源第一站 助力全行业互联网+
点击这里给我发消息
  • 当前位置:
  • 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,这样就可以啦!

    总结

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


    广而告之:
    热门推荐:
    浅谈Unicode与JavaScript的发展史

    一、Unicode是什么? Unicode源于一个很简单的想法:将全世界所有的字符包含在一个集合里,计算机只要支持这一个字符集,就能显示所有的字符,再也不会有乱码了。 它从0开始,为每个符号指定一个编号,这叫做"码点"(codepoint)。比如,码点0的符号就是null(表示所有二进制···

    PHP信号处理机制的操作代码讲解

    我们首先来看下实例代码: function sig_handler($sig) { print("handled sig: $sig\n"); } pcntl_signal(SIGIO, "sig_handler"); posix_kill(posix_getpid(),SIGIO); while(true) { posix_kill(posix_getpid(),SIGIO); pcntl_signal_dispatch···

    JS面向对象编程之对象使用分析

    因为大家总是用面向过程的编程思想来写JS代码,而且也由于网络上充斥了太多小“巧”的JS代码段,很多都是随意而为,很不规范,这也就造成了大家对JS的“误解”,一味的认为它就是一个辅助的小东东,而不适合做大的东西开发。但是自从AJAX兴起后,大量的JS代码编写要求人们具···

    php快速url重写更新版[需php 5.30以上]

    对于apache的rewrite模块打开和设置则非本文主题,请见其他文章详解. 这个类只能php 5.30以上的版本才能使用,继承了上一个版本的快速重定向的特点(单独类,全部使用静态调用),增添了一个很重要的功能和属性 可以调用其他url中的模块了 也使得模块与模块间或页面与页面间的···

    SEO外链怎么发才可以提升网站权重?

    在SEO优化环境中,的方法和细节到底有哪些,怎么发布外链才能有效的促进网页收录。如今已过了内容为皇外链为王的年代了,真正能使网站页面被快速收录的方法很简单,跟着小编一起来了解吧。  无论搜索引擎的算法怎么变动,外链目前对SEO的帮助确实有很好的帮助,特别···

    解析企业seo中同一产品不同名字的优化方法

    对于SEO人员来说,每天都会遇到一些奇怪的问题,特别是企业站点,因为行业不同,操作上的差异,或者相当大,比如:你偶尔会遇到一个产品,有不同的名字,它的名字是不同的,这时,对于新的SEO人来说,仍然有一些挑战。  企业站,一个产品,不同的名字,如何优化?&n···

    jquery css实现邮箱自动补全

     今天在公司做一个电子商务网站的注册会员时,要求用户在电子邮箱文本框中输入时,给与热点提示常用的电子邮箱,帮助用户选择,提高体验效果。下面是用Jquery+css实现的邮箱自动补全,供大家参考和学习。 HTML代码:emailAutoComple.html <!DOCTYPE HTML PUBLIC "-//W···

    DEDECMS v5.3 发布图集时不能获取缩略图的解决办法

    我们在第一时间找到了解决办法,请使用织梦DEDECMS的朋友注意了。  错误代码文件:dede/inc/inc_archives_functions.php    if($pagestyle > 2)  {  $litpicname = GetImageMapDD($iurl,$ddmaxwidth);  ···

    js取0-9随机取4个数不重复的数字代码实例

    本文实例为大家分享了js取0-9随机取4个数不重复的数字的具体代码,供大家参考,具体内容如下 html <input type="button" value="随机生成4位数" onclick="f1()"> script function f1(){ var arr_4=new Array() function getRandom(min,max) //开始取···

    js获取GridView中行数据的两种方法 分享

    第一种方法:复制代码 代码如下:function submitData() {    var tb = document.getElementById(IDArray[0]);   //获取服务器控件GridView的ID    if (tb)     {    var rows = tb.rows;&nb···