怎么在Mac中将php 5升级到php 7

php有什么用

php是一个嵌套的缩写名称,是英文超级文本预处理语言,它的语法混合了C、Java、Perl以及php自创新的语法,主要用来做网站开发,许多小型网站都用php开发,因为php是开源的,从而使得php经久不衰。

移除的一些特性

     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,这样就可以啦!

原创文章,作者:SGOBR,如若转载,请注明出处:http://www.wangzhanshi.com/n/9465.html

(0)
SGOBR的头像SGOBR
上一篇 2025年1月1日 16:46:37
下一篇 2025年1月1日 16:46:39

相关推荐

  • PHP如何实现给页面设置独立访问密码

    PHP网页如果需要查看信息必须输入密码,验证后才可显示出内容的代码如何实现? 对某些php页面设置单独的访问密码,如果密码不正确则无法查看内容,相当于对页面进行了一个加密。 效果截…

    2024年12月17日
  • centos 6.7 安装php7

     默认的版本太低了,手动安装有一些麻烦,想采用Yum安装的可以使用下面的方案: 1.检查当前安装的PHP包 yum list installed&nb…

    php 2025年1月1日
  • PHP三种方式读取RSA密钥加解密、签名验签完整教程

    第一步、生成公私钥 在线生成公钥私钥对,RSA公私钥生成-ME2在线工具 密钥长度: RSA 密钥通常有不同的长度,通常以位数来表示,如 1024 位、2048 位等。一般来说,密…

    2024年12月17日
  • php7扩展类怎么实现

    在php7中,有许许多多的扩展类,今天我们就以person类为例实现doing方法和saying方法,有需要的小伙伴可以参考一下。 1.需要实现的细节 实现一个person类 实现…

    php 2025年1月1日
  • php解决跨域问题的方法详解

    跨域的严格一点来说就是只要协议,域名,端口有任何一个的不同,就被当作是跨域。 比如,在实际项目中由于前后端分离当前端需要通过接口向后台发起请求,此时就会出现跨域问题,那么,这类问题…

    php 2024年12月17日
  • 怎么安装php7并与php5共存

    php有什么用 php是一个嵌套的缩写名称,指的是英文超级文本预处理语言(php:Hypertext Preprocessor)的缩写,它的语法混合了C、Java、Perl以及ph…

    php 2025年1月1日
  • 使用PHP和RabbitMQ实现消息队列的延迟功能

    前言 今天我们来做个小试验,用PHP和RabbitMQ实现消息队列的延迟功能。 前期准备,需要安装好docker、docker-compose的运行环境。 需要安装RabbitMQ…

    2024年12月17日
  • PHP5和PHP7的垃圾回收机制有哪些区别

    php5和php7的垃圾回收机制都是利用引用计数 我们先来看看什么叫做引用计数: 由于PHP是用C来写的,C里面有一种东西叫做结构体,我们PHP的变量在C中就是用这种方式存储的 每…

    php 2025年1月1日
  • Linux下搭建swoole实现php消息推送的方法

    Swoole使用纯C语言编写,提供了PHP语言的异步多线程服务器,异步 TCP/UDP 网络客户端,异步 MySQL,异步 Redis,数据库连接池,AsyncTask,消息队列,…

    php 2024年12月17日
  • php7连接数据库的方式有哪些

     使用原生PHP来连接MySQL的方法有MySQL库、MySQLi库以及PDO,由于PHP 7已经废除MySQL库,所以建议使用MySQLi和PDO。 连接MySQLi有…

    php 2025年1月1日

发表回复

登录后才能评论