首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 網頁程式設計 >> PHP 程式設計 >> PHP 相關知識

Apache + PHP + MySQL 編譯模式深度解析:靜態編譯 vs DSO 動態模塊實戰對比

     編輯:PHP 相關知識

核心區別

  • 靜態編譯:PHP 直接鏈接進 Apache 二進制,性能略高(~5%),但升級 PHP 需重新編譯 Apache。
  • DSO 動態模塊:PHP 編譯為 libphp4.so,Apache 運行時加載,靈活升級,推薦生產環境使用。

Apache 1.3.27 + PHP 4.3.4 + MySQL 4.0.13

靜態編譯

# 1. Apache 預編譯
./configure --prefix=/usr/local/apache
# 2. PHP 編譯指向 Apache 源碼
./configure --prefix=/usr/local/php --with-mysql=/usr/local/mysql \
    --with-apache=../apache_1.3.27
make && make install
# 3. Apache 二次編譯啟用 PHP
./configure --prefix=/usr/local/apache \
    --activate-module=src/modules/php4/libphp4.a
make && make install
cp ../php-4.3.4/php.ini-dist /usr/local/php/lib/php.ini

DSO 動態編譯

# 1. Apache 編譯啟用 DSO 支持
./configure --prefix=/usr/local/apache \
    --enable-module=so --enable-module=rewrite --enable-shared=max
make && make install
# 2. PHP 編譯指向 apxs
./configure --prefix=/usr/local/php --with-mysql=/usr/local/mysql \
    --with-apxs=/usr/local/apache/bin/apxs
make && make install

修改 httpd.conf 添加 AddType application/x-httpd-php .php 即可。

Apache 2.0.46 + PHP 4.3.2(僅 DSO)

# Apache
./configure --prefix=/usr/local/apache2 --enable-so --enable-mods-shared=most
make && make install
# PHP 注意使用 apxs2
./configure --prefix=/usr/local/php --with-mysql=/usr/local/mysql \
    --with-apxs2=/usr/local/apache2/bin/apxs
make && make install

修改 httpd.conf 在 AddType application/x-tar .tgz 後添加 PHP 類型,並可設置 AddDefaultCharset gb2312 顯示中文。

建議

生產環境首選 DSO 模式,便於獨立升級 PHP、Apache,維護成本低;靜態編譯僅適用於極度追求性能且版本固定的場景。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved