国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

目錄
ubuntu
fedora
rhel
> suse
>安裝擴展
>
>它通過使用phpinfo()函數(shù)安裝。此功能提供了有關(guān)您的PHP安裝的大量信息,包括已安裝的擴展名列表。要使用它,請在Web服務(wù)器的文檔root中創(chuàng)建一個新的PHP文件,將調(diào)用添加到phpinfo(),然后在Web瀏覽器中查看此文件。已安裝的擴展名在“ PHP Core”部分中列出。
>如何卸載PHP擴展名?
>什么是pecl存儲庫?
首頁 后端開發(fā) php教程 如何從源安裝PHP擴展

如何從源安裝PHP擴展

Feb 20, 2025 am 09:38 AM

如何從源安裝PHP擴展

有時,在安裝PHP之前,很難知道您需要哪些PHP擴展。如果您以后需要添加擴展名,則可能會很幸運,并且擴展程序可能位于所使用的操作系統(tǒng)的存儲庫中。這可能只是一個簡單的sudo apt-get安裝php5-intl。但是,在其他情況下,您可能需要從Source安裝它 - Phalcon就是一種情況,但是通過引入供應(yīng)商支持,快捷方式和預(yù)編寫的說明,該過程使您的操作系統(tǒng)非常簡單。但是,如果其他擴展程序沒有這樣的東西?

> 在本教程中,我們將在Linux Systems上安裝一些自定義擴展(OS X - 過程幾乎相同)。該過程與我們已經(jīng)在Nitrous.io上所做的非常相似,但適用于本地環(huán)境 - 更具體地說,是Laravel Homestead。您可以輕松地從本教程得出安裝說明,并將其應(yīng)用于其他發(fā)行版。

鑰匙要點

>從源安裝PHP擴展名需要PHP開發(fā)工具和計算機上安裝的編譯器,以及PHP源代碼和擴展的源代碼。
    >從源安裝PHP擴展的過程涉及多個步驟:下載源代碼,準(zhǔn)備使用PHPIZE編譯的擴展程序文件夾,配置編譯環(huán)境,將源編譯到.SO文件中,然后將此文件移動到該文件中當(dāng)前的PHP安裝的擴展文件夾。
  • 安裝后,需要通過將其添加到php.ini文件中或為文件夾中的每個擴展程序創(chuàng)建一個單獨的INI文件來啟用PHP擴展,該文件夾加載了Php.ini后自動包含。
  • 要刪除擴展,您可以使用php5dismod工具,手動刪除符號鏈接或從php.ini文件中刪除啟用行。
  • 啟動VM
  • 如果您還沒有,請閱讀上面鏈接的宅基地帖子,然后啟動并運行。運行新的Homestead盒子后,您立即應(yīng)該能夠執(zhí)行此操作:
  • >

>這很好,這是因為默認(rèn)安裝的文件夾實際上還不包含任何文件。現(xiàn)在,vagrant ssh進入VM,并執(zhí)行以下命令:

>

如何從源安裝PHP擴展這將在默認(rèn)設(shè)置為homestead的路徑中創(chuàng)建一個有效的PHP信息文件。刷新URL現(xiàn)在將產(chǎn)生一個phpinfo屏幕:

<span>cd Code
</span><span>git clone https://github.com/Swader/publicinfo</span>

準(zhǔn)備環(huán)境

>要從源構(gòu)建擴展,我們需要安裝在計算機上的PHP開發(fā)工具,以及可以生成擴展文件的編譯器。以下是您在各種操作系統(tǒng)上安裝這些先決條件的方式:如何從源安裝PHP擴展

ubuntu

<span>cd Code
</span><span>git clone https://github.com/Swader/publicinfo</span>

fedora

<span>sudo apt-get install php5-dev php5-mysql gcc libpcre3-dev</span>

rhel

<span>sudo yum install php-devel php-mysqlnd gcc libtool</span>

> suse

<span>sudo yum install php-devel php-mysql gcc libtool</span>

如果您使用的是最新的宅基地,則所有這些工具都將為您安裝。準(zhǔn)備所有準(zhǔn)備的東西,讓我們開始安裝擴展名。

>安裝擴展

>您可以安裝兩種類型的擴展:與PHP捆綁但默認(rèn)未安裝,第三方擴展。諸如Phalcon之類的第三方擴展通常通過提供快捷方式使安裝過程變得更加容易,因為它們不必遵守某些傳統(tǒng)捆綁的PHP擴展。

首先,讓我們進入VM上的主文件夾:CD?。在那里,制作下載文件夾,然后將CD添加到其中。安裝捆綁的擴展程序時,您需要在計算機上使用PHP的源代碼,最好是與當(dāng)前版本相匹配。 Homestead版本的使用率為5.5.12,所以我將下載一個:>

>我正在使用上面的比利時鏡子,隨意使用下載檔案中的一個或任何其他鏡子。
<span>yast2 -i php5-pear php5-devel php5-mysql gcc</span>

>要查看所有捆綁擴展的源,請進入未架構(gòu)的PHP源代碼文件夾中的EXT文件夾,并使用LS。

安裝捆綁的擴展如何從源安裝PHP擴展

首先,如果您還沒有安裝它,我們將安裝PHP-INTL擴展程序。如果這樣做,那很好 - 您將在下面看到的安裝過程對于每個捆綁的PHP擴展程序都是相同的。 INTL擴展是用于國際化的 - 如果您有興趣,請在此處閱讀更多。

>

>看到INTL擴展名需要ICU庫作為先決條件(如需求中所述),讓我們先安裝。

在其他分布下,安裝說明可能會有所不同。最好是參考ICU網(wǎng)站或此步驟的個人發(fā)行文檔。>

安裝了ICU后,請在仍在Ext文件夾中的同時進行以下操作:>
<span>wget http://be2.php.net/distributions/php-5.5.12.tar.bz2
</span><span>tar xvjf php-5.5.12.tar.bz2
</span><span>cd php-5.5.12</span>

讓我們解釋一下發(fā)生的事情。

>
    phpize準(zhǔn)備擴展名的文件夾以進行補充。它允許您通過創(chuàng)建配置文件來執(zhí)行后續(xù)命令,并基本上使擴展程序的文件夾“思考”它是PHP本身。實際上,PHPize之后的過程與您從源中安裝PHP時要做的事情相同 - 僅在這種情況下,只需編譯PHP的片段并準(zhǔn)備與已編譯和安裝的PHP一起使用。
  • ./配置-enable-intl配置編譯環(huán)境。它準(zhǔn)備了編譯器將需要制作Intl.so文件所需的所有內(nèi)容。即使我們在INTL文件夾中,啟用式標(biāo)志也是必要的,因為該文件夾有效地認(rèn)為它是
  • > php,并且我們需要幫助它實現(xiàn)這種幻覺。該命令告訴它:“好,您是PHP的源代碼。現(xiàn)在編譯并使用INTL擴展名安裝。
  • > make將把源匯編為intl.o,將文件放在您當(dāng)前所在的文件夾中,在模塊子文件夾下方。 sudo make install會將此文件移至當(dāng)前PHP安裝的擴展文件夾中。> >我們現(xiàn)在需要做的就是通過讓php.ini消耗它來啟用擴展。我們稍后會這樣做,讓我們首先編譯第三方擴展。
  • >
  • 安裝第三方擴展
  • 我們將安裝Mongo作為第三方擴展。 Mongo有二進制分布,使安裝變得更簡單,但為了教育,讓我們手動進行。我們假設(shè)您已經(jīng)安裝了實際的Mongo,因此僅關(guān)注PHP擴展名。如果您沒有安裝Mongo,請參閱其安裝文檔。
  • >

>這已經(jīng)構(gòu)建了我們的mongo.so文件,并將其放入PHP安裝的擴展文件夾中。我們將在下一部分中啟用它。

啟用和測試
<span>cd Code
</span><span>git clone https://github.com/Swader/publicinfo</span>

查看我們的php擴展文件夾中是否確實在列出的。 如何從源安裝PHP擴展

如您所見,在那里,它們在鮮綠色中突出顯示。 為了使它們啟用,我們需要告訴php.ini。有幾種方法可以做到這一點:

  1. >您可以將行擴展線= mongo.so。這起作用,在大多數(shù)情況下是一種完全有效的方法。
  2. >
  3. >您可以為每個中的每個文件創(chuàng)建一個單獨的INI文件,將它們放入加載php.ini后自動包含的文件夾中,并以這種方式維護php.ini的分離和隔離。這種方法更健康,盡管很難實現(xiàn)。
  4. >
  5. 您可以組合2)和用于啟用PHP mod的默認(rèn)工具。宅基地使用這種方法,我們也會。
  6. >
<span>cd Code
</span><span>git clone https://github.com/Swader/publicinfo</span>

此文件夾是所有此類INI文件的存儲庫。在此處創(chuàng)建兩個新文件:

<span>sudo apt-get install php5-dev php5-mysql gcc libpcre3-dev</span>

這些命令創(chuàng)建了兩個新的INI文件,每個文件都用于我們以前構(gòu)建的擴展之一。由于它們現(xiàn)在在mods-ovabable文件夾中,我們可以使用已經(jīng)可用的php5enmod(hart for php enable mod)命令行工具。>

<span>sudo yum install php-devel php-mysqlnd gcc libtool</span>
>注意:如果您沒有PHP5ENMOD工具,則將INI文件鏈接到各種PHP Runtimes的Conf.d文件夾中,將有能力:>

有四個條目的原因是我們具有PHP的命令行版本和PHP的FPM版本。每個人都使用自己的php.ini文件,每個文件都會加載自己的conf.d文件夾以進行擴展 - 因此,如果我們希望全方位的擴展名可用。僅當(dāng)您沒有php5enmod工具時,才使用此方法。
<span>sudo yum install php-devel php-mysql gcc libtool</span>
>

最后,讓我們重新啟動nginx和php-fpm加載這些更改。

查看我們是否已安裝了它們,請從之前刷新Phpinfo屏幕并分別搜索Mongo和Intl。

>
<span>yast2 -i php5-pear php5-devel php5-mysql gcc</span>

成功!如何從源安裝PHP擴展

刪除擴展

要刪除擴展,除非您在空間上確實很低,否則無需刪除任何實際文件。您可以通過三種方式進行:

如果您有可用的工具,請運行php5dismod。這與上述PHP5ENMOD工具相反。 .SO文件將保留在適當(dāng)?shù)奈恢?,并且INI文件將保留在mods-ovail中,它們只是不會加載,因為它們的符號鏈接將從fpm和cli conf.d文件夾中刪除。

>手動刪除符號鏈接。例如。 sudo rm /etc/php5/cli/conf.d/mongo.ini

    >如果將擴展名直接放入php.ini文件中,從php.ini文件中刪除這些行,或者更好,請對其進行評論,以便在您改變主意的情況下可以進一步使用。
  1. 結(jié)論
  2. 如您所見,即使沒有精確的說明,從源安裝擴展也非常簡單,即使擴展名不受操作系統(tǒng)的官方存儲庫的支持。下次您需要在 *NIX系統(tǒng)上的PHP安裝中添加擴展名(此教程也適用于OS X),請參閱此帖子以獲取更新。

    請在下面留下您的反饋,讓我知道您是否對特定的擴展程序感到困惑,并希望幫助安裝它。>

    經(jīng)常詢問的問題(常見問題解答)有關(guān)從源

    安裝PHP擴展的問題

    >從源安裝PHP擴展的先決條件是什么?首先,您需要在系統(tǒng)上安裝PHP。您還需要設(shè)置PHP開發(fā)環(huán)境,其中包括編譯器和制造商等工具。此外,您需要使用PHP源代碼,因為您將直接從此代碼中構(gòu)建擴展名。最后,您需要具有擴展名的源代碼。通??梢詮臄U展名的官方網(wǎng)站或諸如PECL等存儲庫中下載。

    >

    >我如何驗證是否正確安裝了PHP擴展名?

    >

    >

    >它通過使用phpinfo()函數(shù)安裝。此功能提供了有關(guān)您的PHP安裝的大量信息,包括已安裝的擴展名列表。要使用它,請在Web服務(wù)器的文檔root中創(chuàng)建一個新的PHP文件,將調(diào)用添加到phpinfo(),然后在Web瀏覽器中查看此文件。已安裝的擴展名在“ PHP Core”部分中列出。

    >我可以在Windows系統(tǒng)上安裝PHP擴展嗎?但是,與Unix樣系統(tǒng)相比,該過程略有不同。您通常會下載預(yù)編譯的DLL文件并將其添加到PHP安裝中,而不是從源中編譯擴展名。 php.net網(wǎng)站提供了有關(guān)如何執(zhí)行此操作的詳細說明。

    >

    如果在安裝過程中遇到錯誤,該怎么辦?

    如果您在安裝過程中遇到錯誤,則該怎么辦步驟是仔細閱讀錯誤消息。它通常包含有關(guān)出了什么問題的線索。常見問題包括缺失依賴項,不正確的配置選項以及PHP源代碼問題。如果您無法自己解決問題,請考慮向PHP社區(qū)尋求幫助。您可以在其中要求提供幫助的許多論壇和郵件列表。

    我如何更新PHP擴展名?

    >更新PHP擴展程序通常涉及下載擴展程序的源代碼和源代碼的最新版本和然后重復(fù)安裝過程。但是,確切的步驟可以根據(jù)擴展而有所不同。最好檢查擴展程序的官方文檔中的特定更新說明。

    我可以一次安裝多個PHP擴展名嗎?這可以通過在configure命令中指定多個擴展名來完成。但是,請記住,每個擴展程序可能具有自己的一組依賴項和配置選項。

    >如何卸載PHP擴展名?

    卸載PHP擴展程序涉及從php.ini文件中刪除擴展名的配置,然后重新啟動Web服務(wù)器。如果將擴展名安裝為共享模塊,則您也可能需要刪除模塊的.so或.dll文件。

    >什么是pecl存儲庫?

    > pecl存儲庫是一個集合以源代碼分配的PHP擴展名。可以使用PECL命令安裝這些擴展名,該命令可以自動下載,編譯和安裝擴展名的過程。

    >

    >我可以安裝php擴展程序而無需root訪問嗎?

    是的,可以安裝無根訪問的PHP擴展。這可以通過在主目錄中安裝PHP然后在此處安裝擴展名來完成。但是,這種方法需要更多的技術(shù)知識,并且可能不適合所有用戶。

    >

    有哪些常見的PHP擴展名?它們做了什么?

    >

    有許多可用的PHP擴展名PHP語言的其他功能。一些常見的擴展名包括用于與MySQL數(shù)據(jù)庫進行交互的mysqli,用于創(chuàng)建和操縱圖像文件的GD以及用于制作HTTP請求的卷曲。>

以上是如何從源安裝PHP擴展的詳細內(nèi)容。更多信息請關(guān)注PHP中文網(wǎng)其他相關(guān)文章!

本站聲明
本文內(nèi)容由網(wǎng)友自發(fā)貢獻,版權(quán)歸原作者所有,本站不承擔(dān)相應(yīng)法律責(zé)任。如您發(fā)現(xiàn)有涉嫌抄襲侵權(quán)的內(nèi)容,請聯(lián)系admin@php.cn

熱AI工具

Undress AI Tool

Undress AI Tool

免費脫衣服圖片

Undresser.AI Undress

Undresser.AI Undress

人工智能驅(qū)動的應(yīng)用程序,用于創(chuàng)建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用于從照片中去除衣服的在線人工智能工具。

Clothoff.io

Clothoff.io

AI脫衣機

Video Face Swap

Video Face Swap

使用我們完全免費的人工智能換臉工具輕松在任何視頻中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的代碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

功能強大的PHP集成開發(fā)環(huán)境

Dreamweaver CS6

Dreamweaver CS6

視覺化網(wǎng)頁開發(fā)工具

SublimeText3 Mac版

SublimeText3 Mac版

神級代碼編輯軟件(SublimeText3)

對基于PHP的API進行版本控制的最佳實踐是什么? 對基于PHP的API進行版本控制的最佳實踐是什么? Jun 14, 2025 am 12:27 AM

基于toversionaphp,useUrl deuseUrl specteringforclarityAndEsofRouting,單獨的codetoavoidConflicts,dremecateOldVersionswithClearCommunication,andConsiderCustomHeadeSerlySerallyWhennEnncelsy.startbyplacingtheversionIntheUrl(E.G.,epi/api/v

如何在PHP中實施身份驗證和授權(quán)? 如何在PHP中實施身份驗證和授權(quán)? Jun 20, 2025 am 01:03 AM

tosecurelyhandleauthenticationandationallizationInphp,lofterTheSesteps:1.AlwaysHashPasswordSwithPassword_hash()andverifyusingspasspassword_verify(),usepreparedStatatementStopreventsqlineptions,andStoreSeruserDatain usseruserDatain $ _sessiveferterlogin.2.implementrole-2.imaccessccsccccccccccccccccccccccccc.

PHP中的程序和面向?qū)ο蟮木幊谭独g有什么區(qū)別? PHP中的程序和面向?qū)ο蟮木幊谭独g有什么區(qū)別? Jun 14, 2025 am 12:25 AM

procemal and object-tiriendedprogromming(oop)inphpdiffersimplessintustructure,可重復(fù)使用性和datahandling.1.procedural-Progrogursmingusesfunctimesfunctionsormanized sequalized sequalized sequiential,poiperforsmallscripts.2.OpporganizesCodeOrganizescodeOdeIntsocloceSandObjects,ModelingReal-Worlden-Worlden

PHP中有哪些弱參考(弱圖),何時有用? PHP中有哪些弱參考(弱圖),何時有用? Jun 14, 2025 am 12:25 AM

PHPdoesnothaveabuilt-inWeakMapbutoffersWeakReferenceforsimilarfunctionality.1.WeakReferenceallowsholdingreferenceswithoutpreventinggarbagecollection.2.Itisusefulforcaching,eventlisteners,andmetadatawithoutaffectingobjectlifecycles.3.YoucansimulateaWe

如何在PHP中安全地處理文件上傳? 如何在PHP中安全地處理文件上傳? Jun 19, 2025 am 01:05 AM

要安全處理PHP中的文件上傳,核心在于驗證文件類型、重命名文件并限制權(quán)限。1.使用finfo_file()檢查真實MIME類型,僅允許特定類型如image/jpeg;2.用uniqid()生成隨機文件名,存儲至非Web根目錄;3.通過php.ini和HTML表單限制文件大小,設(shè)置目錄權(quán)限為0755;4.使用ClamAV掃描惡意軟件,增強安全性。這些步驟有效防止安全漏洞,確保文件上傳過程安全可靠。

如何與PHP的NOSQL數(shù)據(jù)庫(例如MongoDB,Redis)進行交互? 如何與PHP的NOSQL數(shù)據(jù)庫(例如MongoDB,Redis)進行交互? Jun 19, 2025 am 01:07 AM

是的,PHP可以通過特定擴展或庫與MongoDB和Redis等NoSQL數(shù)據(jù)庫交互。首先,使用MongoDBPHP驅(qū)動(通過PECL或Composer安裝)創(chuàng)建客戶端實例并操作數(shù)據(jù)庫及集合,支持插入、查詢、聚合等操作;其次,使用Predis庫或phpredis擴展連接Redis,執(zhí)行鍵值設(shè)置與獲取,推薦phpredis用于高性能場景,Predis則便于快速部署;兩者均適用于生產(chǎn)環(huán)境且文檔完善。

PHP中==(松散比較)和===(嚴(yán)格的比較)之間有什么區(qū)別? PHP中==(松散比較)和===(嚴(yán)格的比較)之間有什么區(qū)別? Jun 19, 2025 am 01:07 AM

在PHP中,==與===的主要區(qū)別在于類型檢查的嚴(yán)格程度。==在比較前會進行類型轉(zhuǎn)換,例如5=="5"返回true,而===要求值和類型都相同才會返回true,例如5==="5"返回false。使用場景上,===更安全應(yīng)優(yōu)先使用,==僅在需要類型轉(zhuǎn)換時使用。

如何在PHP( - , *, /,%)中執(zhí)行算術(shù)操作? 如何在PHP( - , *, /,%)中執(zhí)行算術(shù)操作? Jun 19, 2025 pm 05:13 PM

PHP中使用基本數(shù)學(xué)運算的方法如下:1.加法用 號,支持整數(shù)和浮點數(shù),也可用于變量,字符串?dāng)?shù)字會自動轉(zhuǎn)換但不推薦依賴;2.減法用-號,變量同理,類型轉(zhuǎn)換同樣適用;3.乘法用*號,適用于數(shù)字及類似字符串;4.除法用/號,需避免除以零,并注意結(jié)果可能是浮點數(shù);5.取模用%號,可用于判斷奇偶數(shù),處理負(fù)數(shù)時余數(shù)符號與被除數(shù)一致。正確使用這些運算符的關(guān)鍵在于確保數(shù)據(jù)類型清晰并處理好邊界情況。

See all articles