PHP擴(kuò)展(extensions)

什么是PHP擴(kuò)展膘滨?

為PHP提供一些擴(kuò)展的功能

常見的PHP擴(kuò)展

mysql-----提供給PHP操作MySQL數(shù)據(jù)庫的功能

gd2----動(dòng)態(tài)創(chuàng)建圖像

xdebug-----跟蹤、調(diào)試和分析PHP程序的運(yùn)行狀況

查看PHP擴(kuò)展

1.使用phpinfo探針

phpinfo()---輸出關(guān)于PHP配置的信息

輸出PHP當(dāng)前狀態(tài)的大量信息,包含了PHP編譯選項(xiàng)、啟用的擴(kuò)展、PHP的版本、服務(wù)器信息和環(huán)境變量(如果編譯為一個(gè)模塊的話)、PHP環(huán)境變量论皆、操作系統(tǒng)版本信息、path變量猾漫、配置選項(xiàng)的本地值和主值点晴、HTTP頭和PHP授權(quán)信息(license).

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

首先新建一個(gè)文件

<?php

phpinfo();

保存并在瀏覽器打開這個(gè)頁面粒督,瀏覽器會(huì)輸出響應(yīng)的信息,其中就包括了當(dāng)前我們開啟了哪些PHP的擴(kuò)展

2.使用get_loaded_extensions()

該函數(shù)返回了PHP解析器里所有編譯并加載的模塊名(既已經(jīng)開啟的PHP擴(kuò)展)

新建文件夾

<?php

get_loaded_extensions();

會(huì)在屏幕上打印并輸入所有已經(jīng)加載的PHP擴(kuò)展,以所以數(shù)組返回值

3.使用extension_loaded(string name)函數(shù)

作用:檢查一個(gè)擴(kuò)展是否加載

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

<?php

extension_loaded("redis");

返回值是bool類型禽翼,如果加載既返回TRUE屠橄,否則為FALSE

4.命令行模式查看當(dāng)前安裝了哪些擴(kuò)展

php -m

管理PHP擴(kuò)展

1.PHP擴(kuò)展所在位置

在我們最初安裝PHP的時(shí)候族跛,PHP擴(kuò)展默認(rèn)的位置在ext文件下,當(dāng)然了我們也可以進(jìn)行更改锐墙,更改的方式是通過修改PHP的配置文件來實(shí)現(xiàn)的

打開PHP配置文件php.ini

找到extension_dir="" 通過這個(gè)選項(xiàng)我們來自定義PHP擴(kuò)展的文件所在目錄

以下為我Windows下的擴(kuò)展截圖

2.如何開啟已經(jīng)安裝但是并未開啟的PHP擴(kuò)展

打開php.ini文件

找到 Dynamic Extensions 模塊

下面沒有開啟的擴(kuò)展前面都是有分號的礁哄,只要把分號刪掉,重啟Apache服務(wù)器或者Nginx服務(wù)器就可以了溪北,響應(yīng)的我們安裝了某個(gè)擴(kuò)展的時(shí)候桐绒,我們就可以直接這樣書寫

extension=要開啟的擴(kuò)展名稱

然后重啟服務(wù)器就可以了

如何安裝PHP擴(kuò)展

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

什么是PECL?

PECL 是PHP擴(kuò)展的存儲庫之拨,提供了所有已知擴(kuò)展名和目錄茉继,用于下載和開發(fā)PHP擴(kuò)展

官網(wǎng)網(wǎng)址:

pecl.php.net

額外擴(kuò)展網(wǎng)址:(以下網(wǎng)址只針對Windows系統(tǒng))

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

windows安裝PHP擴(kuò)展的流程

1.到官方網(wǎng)址下載想要安裝的PHP擴(kuò)展,下載版本的時(shí)候要下載響應(yīng)的版本擴(kuò)展

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

以上的任何一個(gè)出錯(cuò)都可能導(dǎo)致意外的錯(cuò)誤

2.解壓下載的文件

解壓時(shí)有的只會(huì)解壓出一個(gè)php_xxx.dll蚀乔,有的會(huì)解壓出很多文件烁竭,但是無論哪種,我們只需要以.dll結(jié)尾的文件

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

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

1)一般方式

extension=php擴(kuò)展的名稱

2)需要設(shè)置配置信息

這個(gè)時(shí)候就需要根據(jù)說明開寫入響應(yīng)的配置信息了乙墙,根據(jù)每個(gè)擴(kuò)展的不同會(huì)寫入不同的配置信息

5.重啟Apache或者Nginx服務(wù)器

這樣經(jīng)過這么幾步我們就達(dá)到了Windows安裝颖变、配置生均、開啟PHP擴(kuò)展的目的

Linux下安裝PHP擴(kuò)展

Linux下安裝PHP擴(kuò)展有兩種方式一種是直裝听想,一種是編譯安裝,那么如何區(qū)分是直裝還是編譯安裝呢马胧?第一步:下載Linux版本的相對應(yīng)PHP版本的PHP擴(kuò)展汉买,當(dāng)我解壓之后發(fā)現(xiàn)文件是以.so結(jié)尾的文件,那么我們就認(rèn)為他是直裝佩脊,直接把解壓的.so文件復(fù)制到PHP的擴(kuò)展目錄下即可蛙粘,以下為Linux擴(kuò)展目錄:

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

之后我們按照Windows下的流程修改php.ini配置文件,重啟服務(wù)器就可以了

編譯安裝:

當(dāng)下載完相對應(yīng)版本的擴(kuò)展文件之后威彰,解壓之后發(fā)現(xiàn)是一堆以.c或者.h等等這些文件組成的出牧,那么就需要編譯安裝了,簡單介紹一下這些以.c或者.h結(jié)尾的文件到底是什么東東歇盼。其實(shí)對于有C語言基礎(chǔ)的開發(fā)人員來說很明白這些文件就是c語言開發(fā)的源文件舔痕,我們可以直接用編譯器打開這些代碼,如果能力足夠大的話甚至可以修改再重新開發(fā)豹缀。

接下來進(jìn)入加壓目錄執(zhí)行一個(gè)phpize的命令伯复,那么這個(gè)命令在哪里呢?在PHP目錄下的bin目錄下邢笙,但是由于每個(gè)LinuxPHP安裝目錄的不同啸如,所以我就以我的本機(jī)目錄為準(zhǔn)來講解了

/usr/local/php/bin/phpize

因?yàn)槲业腜HP是安裝在/user/local/下面的,其他的根據(jù)各自情況來寫bin目錄前面的目錄氮惯,執(zhí)行完之后執(zhí)行下面的命令叮雳,同樣等號后面的目錄根據(jù)實(shí)際情況而定

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

這條命令的意思是自動(dòng)編寫配置文件想暗,省去了我們手工編寫的環(huán)節(jié)

但是并不是所有運(yùn)行這條命令的人都能夠正確執(zhí)行,有的人會(huì)出現(xiàn)error帘不,那么這是什么原因呢江滨?是因?yàn)闆]有安裝autoconf,安裝一下就好了

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

yum install autoconf

ubuntu下使用下面命令安裝

apt-get install autoconf

但是也并是所有人運(yùn)行上面之后也都夠成功,如果提示錯(cuò)誤厌均,那么請按照下面的安裝

yum lsit? php-devel

yum install php-devel.i686

安裝完成后重新運(yùn)行上面的命令即可唬滑,之后可是編譯和安裝

make && make install

之后開啟擴(kuò)展,就是在php.ini中寫入?yún)?shù)棺弊,然后重啟服務(wù)器就可以了晶密。

其他擴(kuò)展信息

什么是phpize?

phpize是用來擴(kuò)展PHP擴(kuò)展模塊的模她,通過phpize可以建立PHP的外掛模塊

什么是autoconf?

生成可以自動(dòng)地配置軟件源代碼

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末稻艰,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子侈净,更是在濱河造成了極大的恐慌尊勿,老刑警劉巖,帶你破解...
    沈念sama閱讀 211,639評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件畜侦,死亡現(xiàn)場離奇詭異元扔,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)旋膳,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,277評論 3 385
  • 文/潘曉璐 我一進(jìn)店門澎语,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人验懊,你說我怎么就攤上這事擅羞。” “怎么了义图?”我有些...
    開封第一講書人閱讀 157,221評論 0 348
  • 文/不壞的土叔 我叫張陵减俏,是天一觀的道長。 經(jīng)常有香客問我碱工,道長娃承,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,474評論 1 283
  • 正文 為了忘掉前任痛垛,我火速辦了婚禮草慧,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘匙头。我一直安慰自己漫谷,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,570評論 6 386
  • 文/花漫 我一把揭開白布蹂析。 她就那樣靜靜地躺著舔示,像睡著了一般碟婆。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上惕稻,一...
    開封第一講書人閱讀 49,816評論 1 290
  • 那天竖共,我揣著相機(jī)與錄音,去河邊找鬼俺祠。 笑死公给,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的蜘渣。 我是一名探鬼主播淌铐,決...
    沈念sama閱讀 38,957評論 3 408
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼蔫缸!你這毒婦竟也來了腿准?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,718評論 0 266
  • 序言:老撾萬榮一對情侶失蹤拾碌,失蹤者是張志新(化名)和其女友劉穎吐葱,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體校翔,經(jīng)...
    沈念sama閱讀 44,176評論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡弟跑,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,511評論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了展融。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片窖认。...
    茶點(diǎn)故事閱讀 38,646評論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖告希,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情烧给,我是刑警寧澤燕偶,帶...
    沈念sama閱讀 34,322評論 4 330
  • 正文 年R本政府宣布,位于F島的核電站础嫡,受9級特大地震影響指么,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜榴鼎,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,934評論 3 313
  • 文/蒙蒙 一伯诬、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧巫财,春花似錦盗似、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,755評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽悍及。三九已至,卻和暖如春接癌,著一層夾襖步出監(jiān)牢的瞬間心赶,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,987評論 1 266
  • 我被黑心中介騙來泰國打工缺猛, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留缨叫,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 46,358評論 2 360
  • 正文 我出身青樓荔燎,卻偏偏與公主長得像弯汰,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個(gè)殘疾皇子湖雹,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,514評論 2 348