如何編譯 PHP 模塊
在使用 ServBay 進行 PHP 開發時,您可能需要編譯和安裝額外的 PHP 模塊,以擴展 PHP 的功能。本文將介紹如何在 ServBay 環境中編譯 PHP 模塊,具體包括編譯 imagick
模塊和 sqlsrv
模塊。
前提條件
注意
請一定要按照下面的文章進行編譯環境初始化並設置系統環境變量,否則以下操作將會失敗!
在開始編譯 PHP 模塊之前,請確保您已經完成了編譯環境的初始化。有關如何初始化編譯環境的詳細步驟,請參考文檔 使用 ServBay 進行二次編譯。
指定 PHP 版本的重要性
ServBay 附帶了多個 PHP 版本,在使用 phpize
、php-config
和其他工具進行編譯時,務必指定您所用的 PHP 版本。這是因為不同版本的 PHP 可能有不同的配置和依賴,選擇正確的版本可以避免編譯錯誤和運行時問題。
本例子以 PHP 8.3
為例。
編譯 PHP imagick 模塊
imagick
模塊是 PHP 的一個擴展,用於處理圖像操作。以下是編譯 imagick
模塊的步驟:
步驟 1:下載源碼
首先,從 PECL 下載 imagick
模塊的源碼包。
wget https://pecl.php.net/get/imagick-3.7.0.tgz
步驟 2:解壓源碼包
解壓下載的源碼包。
tar zxvf imagick-3.7.0.tgz
cd imagick-3.7.0
2
步驟 3:生成配置文件
使用 phpize
生成配置文件。在此過程中,請務必指定您所使用的 PHP 版本。例如,如果您使用的是 PHP 8.3,請運行以下命令:
${SERVBAY_PACKAGE_FULL_PATH}/php/8.3/current/bin/phpize
步驟 4:配置編譯選項
配置編譯選項,指定 PHP 的配置路徑。
./configure --with-php-config=${SERVBAY_PACKAGE_FULL_PATH}/php/8.3/current/bin/php-config
步驟 5:編譯和安裝
編譯並安裝 imagick
模塊。
make -j ${CPU_NUMBER}
make install
2
步驟 6:啟用模塊
在 PHP 的 conf.d
目錄下創建一個 imagick.ini
文件以啟用 imagick
模塊。例如:
echo "extension=imagick.so" > /Applications/ServBay/package/etc/php/8.3/conf.d/imagick.ini
步驟 7:驗證模塊加載
通過 ServBay 管理面板重啟 PHP 服務,然後通過命令行驗證模塊是否成功加載:
php-8.3 -m | grep imagick
如果模塊已成功加載,您應該會看到 imagick
出現在輸出結果中。
編譯 PHP sqlsrv 模塊
注意
先決條件:在 macOS 下安裝編譯 sqlsrv,您需要先安裝微軟的 ODBC 驅動 msodbcsql18
和 mssql-tools18
ServBay 並不附帶 MS ODBC,請使用 homebrew 來進行安裝
brew tap microsoft/mssql-release https://github.com/Microsoft/homebrew-mssql-release
brew update
HOMEBREW_ACCEPT_EULA=Y brew install msodbcsql18 mssql-tools18
2
3
sqlsrv
模塊是 PHP 的一個擴展,用於與 Microsoft SQL Server 進行交互。以下是編譯 sqlsrv
模塊的步驟:
步驟 1:下載源碼
首先,從 PECL 下載 sqlsrv
模塊的源碼包。
wget https://pecl.php.net/get/sqlsrv-5.12.0.tgz
步驟 2:解壓源碼包
解壓下載的源碼包。
tar zxvf sqlsrv-5.12.0.tgz
cd sqlsrv-5.12.0
2
步驟 3:生成配置文件
使用 phpize
生成配置文件。在此過程中,請務必指定您所使用的 PHP 版本。例如,如果您使用的是 PHP 8.3,請運行以下命令:
${SERVBAY_PACKAGE_FULL_PATH}/php/8.3/current/bin/phpize
步驟 4:配置編譯選項
配置編譯選項,指定 PHP 的配置路徑。
export LDFLAGS="-L/opt/homebrew/lib ${LDFLAGS}"
export CPPFLAGS="-I/opt/homebrew/opt/unixodbc/include ${CPPFLAGS}"
./configure --with-php-config=${SERVBAY_PACKAGE_FULL_PATH}/php/8.3/current/bin/php-config
2
3
步驟 5:編譯和安裝
編譯並安裝 sqlsrv
模塊。
make -j ${CPU_NUMBER}
make install
2
步驟 6:啟用模塊
在 PHP 的 conf.d
目錄下創建一個 sqlsrv.ini
文件以啟用 sqlsrv
模塊。例如:
echo "extension=sqlsrv.so" > /Applications/ServBay/package/etc/php/8.3/conf.d/sqlsrv.ini
步驟 7:驗證模塊加載
通過 ServBay 管理面板重啟 PHP 服務,然後通過命令行驗證模塊是否成功加載:
php-8.3 -m | grep sqlsrv
如果模塊已成功加載,您應該會看到 sqlsrv
出現在輸出結果中。
總結
通過上述步驟,您可以在 ServBay 環境中編譯和安裝所需的 PHP 模塊。在編譯過程中,務必指定正確的 PHP 版本,以確保模塊與您的 PHP 環境兼容。希望本文能幫助您順利完成 PHP 模塊的編譯和啟用工作。