php5.4mysqlnd的簡單介紹

本文目錄一覽:

php mysql連接問題

環境變數的問題,只要將配置好的php.ini再拷貝一份到c:\windows下就OK了。這是笨辦法。每次修改php.ini,記得都有再覆蓋拷貝一次。

WordPress怎麼把 php升級5.4

1. 概述

在我做的一個項目中,最近我對生產伺服器上的一系列系統軟體進行了升級,包括Git、Nginx、MySQL和PHP。這篇文章講的是升級PHP的過程,其他軟體的升級,可見下面列出的文章。

在CentOS上把Git從1.7.1升級到1.7.12.4

在CentOS上把Nginx從1.2.4升級到1.6.0

在CentOS上把MySQL從5.5升級到5.6

在CentOS上把PHP從5.4升級到5.5 (本文)

在我加入這個項目之前,伺服器上的PHP已經安裝設置好了,我只是正常使用而已。現在過去1年了,所有的開發工作都告一段落,有時間升級伺服器上的軟體了。升級這種事情是應當經常做的,倒不是為了追最新版本,而是當正式版本發放出來的時候,應該及時更新, 以便獲得最新的更正、補丁,避免伺服器上的漏洞,減少安全隱患。

升級是在今年6月13-14日進行的,到今天才有空做個記錄,便於日後參考。

2. 計劃

計劃就是預案,就是事先的準備(包括心理上的)、更明細的步驟、對各種情況及對意外的對策,當然,我們不可能面面俱到,預測一切,不然就成神了,所以要隨時準備脫稿演出,think out of the box。

2.1 了解情況

計劃要有針對性,所以要先」踩點兒「。

通過在系統上,用find之類的命令,或者通過網頁用phpinfo()函數來顯示關於PHP的信息,可以找到PHP安裝在/usr/local/php目錄下。這說明PHP是從源代碼編譯安裝的,因為yum和rpm是不會安裝到/usr/local/php這個路徑的。在QQ群友的提示下,找到PHP 5.4.8的源代碼位於/usr/local/src/php-5.4.8目錄中,進一步確認PHP是從源代碼編譯安裝的。

查看PHP版本:

# /usr/local/php/bin/php -v

PHP 5.4.8 (cli) (built: Nov 13 2012 00:08:08)

Copyright (c) 1997-2012 The PHP Group

Zend Engine v2.4.0, Copyright (c) 1998-2012 Zend Tehnologies

再查看PHP-FPM的運行情況。那兩天看文檔,我才知道有PHP-FPM(FastCGI Process Manager)這麼個東西,在5.4之後已經包括在PHP之中了,詳見參考資料[]13][14]。

查看PHP-FPM使用的埠:

# netstat -ntpul | grep php-fpm

tcp 0 0 127.0.0.1:9000 0.0.0.0:* LISTEN 2881/php-fpm

查看PHP-FPM的進程:

# ps aux | grep php-fpm

USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND

root 2881 0.0 0.2 204172 2064 ? Ss 2013 38:09 php-fpm: master process (/usr/local/php/etc/php-fpm.conf)

www 18982 0.0 1.4 212796 14816 ? S 19:12 0:03 php-fpm: pool www

www 18983 0.0 1.4 211996 14572 ? S 19:13 0:03 php-fpm: pool www

www 18984 0.0 1.4 212276 14876 ? S 19:13 0:03 php-fpm: pool www

root 19144 0.0 0.0 103236 864 pts/0 S+ 23:29 0:00 grep php-fpm

查看PHP-FPM的版本:

# /usr/local/php/sbin/php-fpm -v

PHP 5.4.8 (fpm-fcgi) (built: Nov 13 2012 00:15:58)

Copyright (c) 1997-2012 The PHP Group

Zend Engine v2.4.0, Copyright (c) 1998-2012 Zend Technologies

查看上次系統啟動的時間,這是怕安裝的東西沒重啟而沒有生效:

# who -b

system boot 2013-01-04 01:07

# last reboot

reboot system boot 2.6.32-279.14.1. Fri Jan 4 01:07 – 20:36 (526+19:29)

reboot system boot 2.6.32-220.13.1. Mon Nov 12 17:53 – 20:36 (579+02:42)

reboot system boot 2.6.32-220.13.1. Thu May 10 17:12 – 17:13 (00:01)

reboot system boot 2.6.32-220.13.1. Wed May 9 15:31 – 15:36 (00:04)

reboot system boot 2.6.32-220.13.1. Wed May 9 15:03 – 15:29 (00:26)

reboot system boot 2.6.32-220.13.1. Wed May 9 10:09 – 12:26 (02:16)

reboot system boot 2.6.32-220.13.1. Thu May 3 17:23 – 17:25 (00:02)

reboot system boot 2.6.32-220.13.1. Fri May 4 01:17 – 17:22 (-7:-54)

reboot system boot 2.6.32-220.13.1. Fri Apr 20 21:33 – 17:22 (12+19:48)

reboot system boot 2.6.32-220.13.1. Sat Apr 21 03:39 – 17:22 (12+13:42)

reboot system boot 2.6.32-220.13.1. Fri Apr 20 18:02 – 17:22 (12+23:19)

reboot system boot 2.6.32-220.13.1. Thu Apr 19 19:51 – 17:59 (22:07)

其實這種擔心是多餘的,因為Linux和Windows不一樣,基本上新安裝的東西,都有命令行可以重啟,只要你知道相應的命令行,不需要重啟整個系統。

小結,現有的PHP 5.4.8安裝在/usr/local/php目錄下,是編譯安裝的,源代碼位於/usr/local/src/php-5.4.8目錄中。編譯安裝的好處是,可以自己定製,增減PHP擴展等等。建議,如無必要,不要使用編譯安裝,因為這樣的安裝,操作麻煩,對操作者的要求比較高,又無法利用yum和rpm這樣的工具,不便於升級、卸載。

這也是為什麼我用yum update php命令無法直接升級PHP的原因,因為yum或者rpm根本不知道用源代碼編譯安裝的PHP。下面是我嘗試的結果:

# yum update php

Loaded plugins: fastestmirror

Loading mirror speeds from cached hostfile

* base: mirrors.163.com

* epel: mirrors.hust.edu.cn

* extras: mirrors.163.com

* remi: mirrors.hustunique.com

* remi-php55: mirrors.hustunique.com

* updates: mirrors.163.com

Setting up Update Process

Package(s) php available, but not installed.

No Packages marked for Update

可見,yum沒有找到已經安裝的php包,所以沒什麼可以升級的。孤獨的編譯安裝,沒人待見,看來要在角落裡終老一生了。

2.2 確定計劃

經過在幾個CakePHP、PHP相關的QQ群里,向其他朋友的請教和討論,(此處略去15000字),其實這是和上面的」踩點兒「互相摻雜在一起進行的。在這裡要特別感謝CakePHP群中的Christian和嚴謹的PHP HHVM MySQL群中的Linux 管理員(Freax)兩位朋友。最終在朋友們的幫助下形成了下面的計劃要點:

保留原有編譯安裝的PHP 5.4.8,沒必要去動它,不用就是了

用yum安裝PHP 5.5.13,配置PHP-FPM 5.5.13使用另一個埠(比如9001)

修改Nginx的配置,使用在新埠上的PHP-FPM 5.5.13

如何重啟PHP-FPM?

答:php-fpm在5.4以後默認是二進位文件了,不再用service php-fpm start這種啟動了。可以在/etc/rc.local (link to /etc/rc.d/rc.local) 加上這條命令

前期的調研、計劃,花了差不多2天時間,而之後的安裝、配置,也就用了3-4個小時。

3. 安裝、配置PHP 5.5.13

根據這兩天讀的文檔,確定使用remi安裝庫,使用yum來安裝PHP 5.5.13。

3.1 添加remi安裝庫

下面的操作依據參考資料[4]:

# wget

# wget

# rpm -Uvh remi-release-6*.rpm epel-release-6*.rpm

3.2 用yum安裝PHP 5.5.13

從之前PHP 5.4.8下phpinfo()的輸出,知道了舊的PHP 5.4.8上安裝的PHP擴展,這樣確定了下面需要安裝的包(命令yum install之後的參數):

# yum install php php-fpm php-gd php-mysqlnd php-mcrypt php-mbstring php-pdo

Dependencies Resolved

================================================================================

Package Arch Version Repository Size

================================================================================

Installing:

libjpeg-turbo x86_64 1.2.1-3.el6_5 updates 174 k

replacing libjpeg.x86_64 6b-46.el6

libjpeg-turbo-devel x86_64 1.2.1-3.el6_5 updates 96 k

replacing libjpeg-devel.x86_64 6b-46.el6

php x86_64 5.5.13-3.el6.remi remi-php55 2.6 M

php-fpm x86_64 5.5.13-3.el6.remi remi-php55 1.3 M

php-gd x86_64 5.5.13-3.el6.remi remi-php55 69 k

php-mbstring x86_64 5.5.13-3.el6.remi remi-php55 958 k

php-mcrypt x86_64 5.5.13-3.el6.remi remi-php55 40 k

php-mysqlnd x86_64 5.5.13-3.el6.remi remi-php55 261 k

php-pdo x86_64 5.5.13-3.el6.remi remi-php55 109 k

Installing for dependencies:

apr-util-ldap x86_64 1.3.9-3.el6_0.1 base 15 k

fontconfig x86_64 2.8.0-3.el6 base 186 k

gd-last x86_64 2.1.0-2.el6.remi remi 129 k

httpd x86_64 2.2.15-30.el6.centos updates 821 k

httpd-tools x86_64 2.2.15-30.el6.centos updates 73 k

libX11 x86_64 1.5.0-4.el6 base 584 k

libX11-common noarch 1.5.0-4.el6 base 192 k

libXau x86_64 1.0.6-4.el6 base 24 k

libXpm x86_64 3.5.10-2.el6 base 51 k

libmcrypt x86_64 2.5.8-9.el6 epel 96 k

libtiff x86_64 3.9.4-10.el6_5 updates 343 k

libxcb x86_64 1.8.1-1.el6 base 110 k

libxslt x86_64 1.1.26-2.el6_3.1 base 452 k

mailcap noarch 2.1.31-2.el6 base 27 k

php-cli x86_64 5.5.13-3.el6.remi remi-php55 2.5 M

php-common x86_64 5.5.13-3.el6.remi remi-php55 1.0 M

php-pear noarch 1:1.9.4-28.el6.remi remi 373 k

php-pecl-jsonc x86_64 1.3.5-1.el6.remi.5.5 remi-php55 46 k

php-pecl-zip x86_64 1.12.4-1.el6.remi.5.5 remi-php55 269 k

php-process x86_64 5.5.13-3.el6.remi remi-php55 54 k

php-xml x86_64 5.5.13-3.el6.remi remi-php55 206 k

t1lib x86_64 5.1.2-6.el6_2.1 base 160 k

Transaction Summary

================================================================================

Install 31 Package(s)

yum自動計算出需要的依賴安裝包,總共有31個安裝包需要下載、安裝。

apache2.4+mysql5.6+php5.4 配置,不能載入php_mysql.dll和php_mcrypt.dll,

最簡單的辦法:用集成環境包。

你這種情況,應該先確定php.ini里有沒有開啟mysql擴展

php 未安裝mysql是不是無法開啟mysql擴展

php.ini中的

extension=php_mysql.dll

extension=php_mysqli.dll

記得php文件夾下的ext文件夾內查看下有沒有擴展文件,php_mysql.dll,php_mysqli.dll

前面是不是有分號(;)有的話去掉,再重啟下apache看下

安裝php configure無法通過:報錯Note that the MySQL client library is not bundled anymore!

看你的問題應該是php編譯的時候有問題吧 支持mysql的時候。 如果你不知道你的mysql庫在哪裡,你可以mysqlnd試試呢 php5.4貌似是支持的 我記得、

./configure –with-mysql=mysqlnd –with-mysqli=mysqlnd –with-pdo-mysql=mysqlnd 你的參數

php5.4怎麼支持mysql5.7.4.0?

你好,非常高興為你解答:

需要在配置文件中進行相應的mysql配置,打開php下的配置文件php.ini,然後找到

extension=php_mysql.dll

extension=php_mysqli.dll

將前面的;刪除掉,然後保存文件,就可以了。

希望有所幫助!

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/306320.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2025-01-02 12:00
下一篇 2025-01-02 12:00

相關推薦

  • Python簡單數學計算

    本文將從多個方面介紹Python的簡單數學計算,包括基礎運算符、函數、庫以及實際應用場景。 一、基礎運算符 Python提供了基礎的算術運算符,包括加(+)、減(-)、乘(*)、除…

    編程 2025-04-29
  • Python滿天星代碼:讓編程變得更加簡單

    本文將從多個方面詳細闡述Python滿天星代碼,為大家介紹它的優點以及如何在編程中使用。無論是剛剛接觸編程還是資深程序員,都能從中獲得一定的收穫。 一、簡介 Python滿天星代碼…

    編程 2025-04-29
  • Python海龜代碼簡單畫圖

    本文將介紹如何使用Python的海龜庫進行簡單畫圖,並提供相關示例代碼。 一、基礎用法 使用Python的海龜庫,我們可以控制一個小海龜在窗口中移動,並利用它的「畫筆」在窗口中繪製…

    編程 2025-04-29
  • Python櫻花樹代碼簡單

    本文將對Python櫻花樹代碼進行詳細的闡述和講解,幫助讀者更好地理解該代碼的實現方法。 一、簡介 櫻花樹是一種圖形效果,它的實現方法比較簡單。Python中可以通過turtle這…

    編程 2025-04-28
  • Python大神作品:讓編程變得更加簡單

    Python作為一種高級的解釋性編程語言,一直被廣泛地運用於各個領域,從Web開發、遊戲開發到人工智慧,Python都扮演著重要的角色。Python的代碼簡潔明了,易於閱讀和維護,…

    編程 2025-04-28
  • 用Python實現簡單爬蟲程序

    在當今時代,互聯網上的信息量是爆炸式增長的,其中很多信息可以被利用。對於數據分析、數據挖掘或者其他一些需要大量數據的任務,我們可以使用爬蟲技術從各個網站獲取需要的信息。而Pytho…

    編程 2025-04-28
  • 如何製作一個簡單的換裝遊戲

    本文將從以下幾個方面,為大家介紹如何製作一個簡單的換裝遊戲: 1. 遊戲需求和界面設計 2. 使用HTML、CSS和JavaScript開發遊戲 3. 實現遊戲的基本功能:拖拽交互…

    編程 2025-04-27
  • Guava Limiter——限流器的簡單易用

    本文將從多個維度對Guava Limiter進行詳細闡述,介紹其定義、使用方法、工作原理和案例應用等方面,並給出完整的代碼示例,希望能夠幫助讀者更好地了解和使用該庫。 一、定義 G…

    編程 2025-04-27
  • 製作一個簡單的管理系統的成本及實現

    想要製作一個簡單的管理系統,需要進行技術選型、開發、測試等過程,那麼這個過程會花費多少錢呢?我們將從多個方面來闡述製作一個簡單的管理系統的成本及實現。 一、技術選型 當我們開始思考…

    編程 2025-04-27
  • 2的32次方-1:一個看似簡單卻又複雜的數字

    對於計算機領域的人來說,2的32次方-1(也就是十進位下的4294967295)這個數字並不陌生。它經常被用來表示IPv4地址或者無符號32位整數的最大值。但實際上,這個數字卻包含…

    編程 2025-04-27

發表回復

登錄後才能評論