移植配置檔

全局配置檔 php3.ini 已經改名為 php.ini

Apache 配置檔也有一些細微的改動。PHP 模組所屬的 MIME 類型已經改變。

application/x-httpd-php3        -->    application/x-httpd-php
application/x-httpd-php3-source -->    application/x-httpd-php-source

可以使配置檔工作在兩個 PHP 版本上(取決於哪個版本編譯到伺服器上),使用下面的語法:

AddType  application/x-httpd-php3        .php3
AddType  application/x-httpd-php3-source .php3s

AddType  application/x-httpd-php         .php
AddType  application/x-httpd-php-source  .phps

除此之外,關於 PHP 的 Apache 指令已經改變。

從 PHP 4.0 開始,只有四個 Apache 指令與 PHP 關聯:

php_value [PHP directive name] [value]
php_flag [PHP directive name] [On|Off]
php_admin_value [PHP directive name] [value]
php_admin_flag [PHP directive name] [On|Off]

Admin values 和非 Admin values 有兩處不同:

  • Admin values(或 flags)指僅可以出現在伺服器範圍內的 apache 配置檔(例如:httpd.conf)。

  • Standard values(或 flags)無法控制某種 PHP 指令,例如:安全模式(若果在 .htaccess 檔案中覆蓋了安全模式的設定,安全模式 就失去了它的意義)。相比較,Admin values 可以變更任何 PHP 指令的值。

為了使轉移過程更加容易,PHP 4 捆綁了自動轉換 Apache 配置檔和 .htaccess 檔案使 PHP 3 和 PHP 4 都可以工作。但這些腳本並不轉換 MIME 類型!需要自己轉換它。

要轉換 Apache 配置檔,運行 apconf-conv.sh 腳本(在 scripts/apache/ 目錄)例如:

~/php4/scripts/apache:#  ./apconf-conv.sh /usr/local/apache/conf/httpd.conf

原來的配置檔會更名為 httpd.conf.orig。

要轉換 .htaccess 檔案,運行 aphtaccess-conv.sh 腳本(也在 scripts/apache/ directory 目錄下):

~/php4/scripts/apache:#  find / -name .htaccess -exec ./aphtaccess-conv.sh {} \;

同樣的,原有的 .htaccess 檔案會以 .orig 副檔名儲存。

運行轉換腳本需要安裝 awk。