移植配置文件

全局配置文件 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。