PHP7以后有一些改变,之前碰到mysql_connect()失效的一个小程序,是自己写的,PHP7下出错后就手动修改了,这两天升级本博客的相关内容时,有碰到mysql_connect()连接失败的问题,因为不是自己写的,手动修改了一些,觉得太类,干脆在PHP7下重新加入mysql扩展,程序也省的修改了,但是这个做法到底好不好,效率影响有多大,作为半瓶酒的醒醒就不知道了,只知道反正能用了。

PHP7移除了mysql扩展,推荐使用mysqli或者pdo_mysql,实际上在PHP5.5开始,PHP就着手开始准备弃用mysql扩展,如果你的程序使用了mysql扩展,可能看到过这样的提示”Deprecated: mysql_connect(): The mysql extension is deprecated and will be removed in the future: use mysqli or PDO instead in”.所以在以后自己写PHP程序中,为了保持兼容性,要尽量不要使用mysql扩展用于数据库连接。

以lnmp为例两种方法安装PHP7的mysql扩展:

一、直接下载mysql.so文件安装PHP7的扩展,这种方法不知道到底通用不通用,反正我在自己的几台机器上都能正常使用。

下载到/usr/local/php/lib/php/extensions/no-debug-non-zts-20160303目录下,然后修改php.ini文件,lnmp的php.ini文件的位置在/usr/local/php/etc,在php.ini中添加extension=mysql.so,然后使用命令lnmp restart重启lnmp。到此就可以正常使用mysql_connect了。从PHP探针上可以先看下成果:

推荐这种方法,简单粗暴,如果不行的话可以往下看。

二、编译安装PHP7的mysql扩展

1、到http://git.php.net/?p=pecl/database/mysql.git;a=summary下载源文件,我下载的是最新的一个http://git.php.net/?p=pecl/database/mysql.git;a=snapshot;h=647c933b6cc8f3e6ce8a466824c79143a98ee151;sf=tgz

2、解压并使用phpize工具初始化,编译:

#解压

tar xzvf mysql-647c933.tar.gz

#进入mysql扩展目录

cd mysql-647c933/

#使用phpize初始化,lnmp的phpize在/usr/local/php/bin目录

/usr/local/php/bin/phpize

#编译mysql扩展,使用mysql native driver作为mysql链接库

./configure --with-php-config=/opt/php/bin/php-config --with-mysql=mysqlnd

make && make install

3、然后同一中的办法,编辑php.ini文件,把mysql.so拷贝到php.ini的extension_dir中(这里实际上目录中已经有mysql.so了,如果没有的话文件在/root/mysql-647c933/modules,复制过去即可),然后在php.ini中加入extension=mysql.so ,最后lnmp restart重启就完工了。

php5安装mysql拓展_PHP7安装mysql的扩展让老版本PHP程序继续服役相关推荐

  1. php 安装rabbitmq拓展_安装 php-rabbit: RabbitMQ 的 PHP 扩展

    RabbitMQ 官方提供了三种 PHP 可用的扩展,分别是: php-amqp http://code.google.com/p/php-amqp/ php-rabbit http://code.g ...

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

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

  3. org.gjt.mm.mysql.Driver和com.mysql.jdbc.Driver的概述

    org.gjt.mm.mysql.Driver和com.mysql.jdbc.Driver同为数据库驱动类的概述 org.gjt.mm.mysql.Driver是早期的驱动名称,后来就改名为com.m ...

  4. org.gjt.mm.mysql.Driver与com.mysql.jdbc.Driver区别

    引用:http://hi.baidu.com/hotome/blog/item/ed45097eb795d8310cd7da12.html org.gjt.mm.mysql.Driver 是早期的驱动 ...

  5. mysql+1.6安装,CentOS 7.0编译安装Nginx1.6.0+MySQL5.6.19+PHP5.5.14方法

    这篇文章主要介绍了CentOS 7.0编译安装Nginx1.6.0+MySQL5.6.19+PHP5.5.14方法分享,需要的朋友可以参考下准备篇: 一.配置防火墙,开启80端口.3306端口 Cen ...

  6. ubuntu 编译安装php mysql_ubuntu编译安装php5 mysql nginx

    一.首先下载软件源码包 wget http://sysoev.ru/nginx/nginx-0.8.53.tar.gz wget http:/.s135.com/soft/linux/nginx_ph ...

  7. mysql 1.6安装_centos 6.6编译安装nginx1.6.2+mysql5.6.21+php5.6.3.docx

    centos 6.6编译安装nginx1.6.2+mysql5.6.21+php5.6.3.docx 还剩 12页未读, 继续阅读 下载文档到电脑,马上远离加班熬夜! 亲,喜欢就下载吧,价低环保! 内 ...

  8. pdo mysql 安装 zval_macos下编译安装php5.2.17步骤

    前段时间遇到一个项目是用php 5.2加zend加密模块来写的项目,但自己机器最低的php版本也是5.3,咋办呢? 在brew上搜索了半天,也在github上找了一圈也没找到,看到brew上的最低版本 ...

  9. centos apache php mysql zend_CentOS 5.5搭建Apache+PHP5.2x+MySQL5+Zend3(yum安装)

    一.替换CentOS镜像服务器,修改CenOS-Base.repo中国官方镜像网站:http://centos.ustc.edu.cn 修改CentOS: cd /etc/yum.repos.d mv ...

最新文章

  1. 哪些方法不能够实施Spring AOP事务
  2. 解析C/C++的预处理指令
  3. mysql正确打开方式_MySQL中MVCC的正确打开方式
  4. VTK:绘制一个棋盘并用两个平面对其进行剪辑用法实战
  5. VTK:Medical之TissueLens
  6. 牛客21312 神秘餐馆
  7. 携手伙伴谋增长 同心协力齐飞飏
  8. 【Teradata SQL】禁用和启用数据库用户登录
  9. javascript的list循环
  10. sunplus 8202v iop源代码阅读笔记——1
  11. 指针数组与数组指针的区别
  12. java物理架构_Java应用架构读书笔记(1):物理设计与逻辑设计
  13. 使用ggplot2绘制心形
  14. 排序问题-fastjson-JSONObject
  15. oracle12c下载安装
  16. python2与python3实现读取网页刷访问量
  17. 在学校,你需要知道的8种思维导图的类型及其工作方式
  18. HTML的图文排版,css 文章内容排版实例
  19. JAVA计算机毕业设计中华二十四节气文化传承宣展平台Mybatis+源码+数据库+lw文档+系统+调试部署
  20. AI语音外呼机器人是如何帮助电销行业获客

热门文章

  1. springboot 404_Spring Boot(四) 异常处理
  2. 【读书笔记】非暴力沟通
  3. 网络通信tcp与udp的区别
  4. CNN中全连接层是什么样的
  5. 2014中国软件开发者调查
  6. nikon n150在电脑中不显示里面的图片的解决方法
  7. 漫步最优化六——数学规划
  8. 漫步数理统计十五——两个随机变量的分布
  9. git本地commit之后如何同步到远程
  10. leetcode —— 523. 连续的子数组和