PHP是最流行的web脚本编程语言,目前全球有超过81.7%的服务器后端都采用它,然而它的运行效率一直广受诟病,为了提供PHP的运行效率,Facebook甚至开发HHVM,用来把PHP代码转换成字节码以提高其效率。为了对抗HHVM,2015年10月PHP7正式发布,相对于PHP5,PHP7有非常大的性能提升,关于其和HHVM性能的对比,可以查看鸟哥的PHP7 VS HHVM (WordPress).
相对与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 #编译mysql扩展,使用mysql native driver作为mysql链接库 ./configure --with-php-config=/opt/php/bin/php-config --with-mysql=mysqlnd make && make install
5,编辑php.ini文件,把mysql.so拷贝到php.ini的extension_dir中,然后在php.ini中加入extension=mysql.so
6,重启php
成功之后,用phpinfo即可看到mysql扩展的信息
注意: mysql扩展已经走到了尽头,如无必要,尽量在程序中替换mysql扩展。