搜尋

首頁  >  問答  >  主體

mysql - 編譯php ./configure指令enable和with有什麼差別

./configure --enable-curl

./configure --with-curl

1.enable和with參數指令有什麼差別?

2.如何將擴充編譯進php,而不是以.so動態擴展形式存在?

更新

3.哪些擴充是php官方支援的呢?是php源碼包ext目錄下的就是php官方支援的麼?可以編譯進php的?

4.使用什麼指令將官方支援的擴充編譯進php?

曾经蜡笔没有小新曾经蜡笔没有小新2781 天前567

全部回覆(2)我來回復

  • 某草草

    某草草2017-05-16 13:11:27

    1. enable 是啟用 PHP 源碼包自帶,但是預設不啟用的擴展,例如 ftp 和 exif 擴展。 with 是指定擴充依賴的資源庫的位置,如果是預設位置,就可以留空。

    2. php 的擴充分為靜態編譯和動態編譯兩種,靜態編譯就是隨著PHP的原始碼一起編譯安裝,也就是 --enable 和 --with 啟用的擴充。動態編譯就是在一個已經可以使用的 PHP 環境下,使用 phpize 指令來增加 php 擴充的方式,這個方式就是產生的 so 檔案。所以想要把擴充編譯進 php 內核,就需要跟 php 一起編譯安裝。

    3. 是的,php源碼包ext目錄下的就是官方預設支援的擴展,還有一部分就是 pecl 庫裡的擴展,pecl 的一部分擴展也是官方支持的,另一部分是第三方開發者支持的。

    4. 把擴充功能跟著php安裝,也就是 configure 指令

    回覆
    0
  • PHP中文网

    PHP中文网2017-05-16 13:11:27

    第一個問題 enable和with都是編譯時候的一些選項,而enable更多的情況下是啟用某個擴展http://php.net/manual/en/conf...

    第二個問題 php官方支援的擴充可以在原始碼編譯的時候編譯進php,而第三方的擴充則必須以so的形式引入

    回覆
    0
  • 取消回覆