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 |