相对与PHP5,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”.所以在以后的程序中,为了保持兼容性,要尽量减少使用mysql扩展用于数据库连接.
作为运维人员来说,既想使用PHP7来提升服务器的效率,又要保证老的程序能够运行,如何做呢?
1.去php网站上下载mysql扩展,http://git.php.net/?p=pecl/database/mysql.git;a=summary
2.解压并使用phpize工具初始化,编译:文件包
解压
# tar xzvf mysql-45881bd.tar.gz
进入mysql扩展目录
# cd mysql-45881bd/
使用phpize初始化,我的phpize在/opt/目
# /opt/php/bin/phpize
可能会提示如下报错信息
Cannot find autoconf. Please check your autoconf installation and the $PHP_AUTOCONF environment variable. Then, rerun this script.
解决措施:
# yum install -y m4 autoconf
编译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当前所在目录中,然后在php.ini中加入extension=mysql.so
# cp /root/mysql-fae9884/modules/mysql.so /etc/
4.重启php
# /etc/init.d/php-fpm restart Gracefully shutting down php-fpm . done Starting php-fpm done
5. 配置连接 MySQL测试页面
在我们访问 MySQL 数据库前,我们需要先连接到数据库服务器:
<?php $servername = "192.168.1.20"; $username = "test"; $password = "magedu"; // 创建连接 $conn = new mysqli($servername, $username, $password); // 检测连接 if ($conn->connect_error) { die("连接失败: " . $conn->connect_error); } echo "连接成功"; phpinfo(); ?>
成功之后,浏览器访问可以看到mysql扩展的信息,并显示“连接成功”。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
长按识别二维码并关注微信
更方便到期提醒、手机管理