PHP 手册
后退 | 附录 C. 从 PHP 3 移植到 PHP 4 | 前进

# 移植配置文件

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

后退 | 起点 | 前进
同时运行 PHP 3 和 PHP 4 | 上一级 | 解析器行为