標籤:

PHP擴展(extensions)

什麼是PHP擴展?

為PHP提供一些擴展的功能

常見的PHP擴展

mysql-----提供給PHP操作MySQL資料庫的功能

gd2----動態創建圖像

xdebug-----跟蹤、調試和分析PHP程序的運行狀況

查看PHP擴展

1.使用phpinfo探針

phpinfo()---輸出關於PHP配置的信息

輸出PHP當前狀態的大量信息,包含了PHP編譯選項、啟用的擴展、PHP的版本、伺服器信息和環境變數(如果編譯為一個模塊的話)、PHP環境變數、操作系統版本信息、path變數、配置選項的本地值和主值、HTTP頭和PHP授權信息(license).

以上是PHP官方對phpinfo()函數的解釋,我們接下來用這個函數來做一個測試。

首先新建一個文件

<?phpn phpinfo();n

保存並在瀏覽器打開這個頁面,瀏覽器會輸出響應的信息,其中就包括了當前我們開啟了哪些PHP的擴展

2.使用get_loaded_extensions()

該函數返回了PHP解析器里所有編譯並載入的模塊名(既已經開啟的PHP擴展)

新建文件夾

<?phpnget_loaded_extensions();n

會在屏幕上列印並輸入所有已經載入的PHP擴展,以所以數組返回值

3.使用extension_loaded(string name)函數

作用:檢查一個擴展是否載入

例如我們檢查redis是否載入就可以這樣寫

<?phpnextension_loaded("redis");n

返回值是bool類型,如果載入既返回TRUE,否則為FALSE

4.命令行模式查看當前安裝了哪些擴展

php -mn

管理PHP擴展

1.PHP擴展所在位置

在我們最初安裝PHP的時候,PHP擴展默認的位置在ext文件下,當然了我們也可以進行更改,更改的方式是通過修改PHP的配置文件來實現的

打開PHP配置文件php.ini

找到extension_dir="" 通過這個選項我們來自定義PHP擴展的文件所在目錄

以下為我Windows下的擴展截圖

2.如何開啟已經安裝但是並未開啟的PHP擴展

打開php.ini文件

找到 Dynamic Extensions 模塊

下面沒有開啟的擴展前面都是有分號的,只要把分號刪掉,重啟Apache伺服器或者Nginx伺服器就可以了,響應的我們安裝了某個擴展的時候,我們就可以直接這樣書寫

extension=要開啟的擴展名稱n

然後重啟伺服器就可以了

如何安裝PHP擴展

本次介紹包括Windows和Linux擴展的安裝接收,但是在介紹之前我們先來認識一下PECL.

什麼是PECL?

PECL 是PHP擴展的存儲庫,提供了所有已知擴展名和目錄,用於下載和開發PHP擴展

官網網址:

pecl.php.netn

額外擴展網址:(以下網址只針對Windows系統)

http://windows.php.net/downloads/pecl/releases/n

windows安裝PHP擴展的流程

1.到官方網址下載想要安裝的PHP擴展,下載版本的時候要下載響應的版本擴展

PHP版本 VC版本 nts/ts x64/x86n

以上的任何一個出錯都可能導致意外的錯誤

2.解壓下載的文件

解壓時有的只會解壓出一個php_xxx.dll,有的會解壓出很多文件,但是無論哪種,我們只需要以.dll結尾的文件

3.將解壓出來的.dll文件放到我們在php.ini中配置的擴展目錄下即可

4.在php.ini中添加配置信息

1)一般方式

extension=php擴展的名稱n

2)需要設置配置信息

這個時候就需要根據說明開寫入響應的配置信息了,根據每個擴展的不同會寫入不同的配置信息

5.重啟Apache或者Nginx伺服器

這樣經過這麼幾步我們就達到了Windows安裝、配置、開啟PHP擴展的目的

Linux下安裝PHP擴展

Linux下安裝PHP擴展有兩種方式一種是直裝,一種是編譯安裝,那麼如何區分是直裝還是編譯安裝呢?第一步:下載Linux版本的相對應PHP版本的PHP擴展,當我解壓之後發現文件是以.so結尾的文件,那麼我們就認為他是直裝,直接把解壓的.so文件複製到PHP的擴展目錄下即可,以下為Linux擴展目錄:

lib/php/extensions/no-debug-non-zts-20131226 n

之後我們按照Windows下的流程修改php.ini配置文件,重啟伺服器就可以了

編譯安裝:

當下載完相對應版本的擴展文件之後,解壓之後發現是一堆以.c或者.h等等這些文件組成的,那麼就需要編譯安裝了,簡單介紹一下這些以.c或者.h結尾的文件到底是什麼東東。其實對於有C語言基礎的開發人員來說很明白這些文件就是c語言開發的源文件,我們可以直接用編譯器打開這些代碼,如果能力足夠大的話甚至可以修改再重新開發。

接下來進入加壓目錄執行一個phpize的命令,那麼這個命令在哪裡呢?在PHP目錄下的bin目錄下,但是由於每個LinuxPHP安裝目錄的不同,所以我就以我的本機目錄為準來講解了

/usr/local/php/bin/phpizen

因為我的PHP是安裝在/user/local/下面的,其他的根據各自情況來寫bin目錄前面的目錄,執行完之後執行下面的命令,同樣等號後面的目錄根據實際情況而定

./configure --with-php-config=/usr/local/php/php-confign

這條命令的意思是自動編寫配置文件,省去了我們手工編寫的環節

但是並不是所有運行這條命令的人都能夠正確執行,有的人會出現error,那麼這是什麼原因呢?是因為沒有安裝autoconf,安裝一下就好了

centos/redhat下使用下面命令安裝:

yum install autoconfn

ubuntu下使用下面命令安裝

apt-get install autoconfn

但是也並是所有人運行上面之後也都夠成功,如果提示錯誤,那麼請按照下面的安裝

yum lsit php-develnyum install php-devel.i686n

安裝完成後重新運行上面的命令即可,之後可是編譯和安裝

make && make installn

之後開啟擴展,就是在php.ini中寫入參數,然後重啟伺服器就可以了。

其他擴展信息

什麼是phpize?

phpize是用來擴展PHP擴展模塊的,通過phpize可以建立PHP的外掛模塊

什麼是autoconf?

生成可以自動地配置軟體源代碼

推薦閱讀:

php的垃圾回收機制——引用計數
Github項目精選|PHP實現網頁視頻聊天
Windows虛擬主機安裝php語言系統wordpress程序失敗
php為什麼弄點號連接字元串?
猿哥的100條經驗|輕鬆解決用戶簡訊發送的各種問題

TAG:PHP |