php7安裝mysql拓展

php7.0以上的版本廢棄了mysql拓展,推薦使用mysqli以及pdo_mysql,所以老的程序使用mysql拓展的程序就會報mysql_connet()函數未定義的錯誤,我們如果想要在不更改老程序鏈接數據庫方式的前提下讓它能夠運行就需要在php7以上版本中安裝mysql的拓展。

1?去php網站上下載mysql擴展,http://git.php.net/?p=pecl/database/mysql.git;a=summary.(文件包的名稱是mysql-45881bd.tar.gz,

2?解壓并使用phpize工具初始化,編譯。

#解壓

tar?xzvf?mysql-45881bd.tar.gz

#進入mysql擴展目錄

cd?mysql-45881bd/

#使用phpize初始化,我的phpize在/data/web/目錄

/data/web/php7/bin/phpize

#編譯mysql擴展,使用mysql?native?driver作為mysql鏈接庫

./configure?--with-php-config=/data/web/php7/bin/php-config?--with-mysql=mysqlnd

make?&&?make?install

3 然后直接編輯php.ini文件,在php.ini中加入extension=mysql.so

4 重啟php-fpm,首先說下啟動php-fpm:/data/web/php7/sbin/php-fpm,下面開始講如何重啟:php 5.3.3 以后的php-fpm?不再支持?php-fpm 以前具有的 /data/web/php7/sbin/php-fpm (start|stop|reload)等命令,所以不要再看這種老掉牙的命令了,需要使用信號控制:

master進程可以理解以下信號

INT, TERM?立刻終止

QUIT?平滑終止

USR1?重新打開日志文件

USR2?平滑重載所有worker進程并重新載入配置和二進制模塊

一個簡單直接的重啟方法:

先查看php-fpm的master進程號:ps aux | grep php-fpm


重啟php-fpm:

kill -USR2 22267

上面方案一般是沒有生成php-fpm.pid文件時使用,如果要生成php-fpm.pid,使用下面這種方案:

上面master進程可以看到,matster使用的是/data/web/php7/etc/php-fpm.conf這個配置文件,cat?/data/web/php7/etc/php-fpm.conf?發(fā)現(xiàn):

pid文件路徑應該位于/data/web/php7/var/run/php-fpm.pid,由于注釋掉,所以沒有生成,我們把注釋去除,再kill -USR2 22267 重啟php-fpm,便會生成pid文件,下次就可以使用以下命令重啟,關閉php-fpm了:

php-fpm 關閉:

kill -INT 'cat /data/web/php7/var/run/php-fpm.pid'

php-fpm 重啟:

kill -USR2 'cat /data/web/php7/var/run/php-fpm.pid'

這樣我們查看phpinfo()的時候就可以看到mysql拓展了,我們親切的mysql又回來了,我們熟悉的程序又可以快樂的運行了

小結:相對于PHP5,都說PHP7有非常大的性能提升,mysql拓展被廢棄也有很多的原因,安全性首當其沖,還是推薦大家最好使用mysqli以及pdo_mysql拓展來連接數據庫。

很多剛升級php7的新同學都會遇到各種各樣的問題,一定不要灰心,困難總會被克服的。

相關鏈接(LNMP編譯安裝):http://www.itdecent.cn/p/e28cd4d30fb5

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

  • (centos7+nginx1.9+mysql5.6+php7) 1.準備工作: 1)把所有的軟件安裝在/data...
    Tshare_XUN閱讀 687評論 0 0
  • 更改ip和dnsVi /etc/sysconfig/network-scripts/ifcfg-eth0vi /...
    Xwei_閱讀 2,043評論 0 3
  • 一、MemCache簡介 session MemCache是一個自由、源碼開放、高性能、分布式的分布式內存對象緩存...
    李偉銘MIng閱讀 4,004評論 2 13
  • 1.LAMP介紹 ? LAM(M)P:L: linuxA: apache (httpd)M: mysql, mar...
    尛尛大尹閱讀 1,237評論 0 1
  • 此時此刻,我不考慮文筆,不考慮結構只想表達我自己。 我在人際交往上相當失敗,我沒有完全交心的好朋友,我感...
    花懶貓閱讀 406評論 0 0

友情鏈接更多精彩內容