PHP 版本 3

目录

  1. 介绍
  2. 配置指令
  3. 更改的行为
  4. 杂项
  5. 迁移
  6. 调试器
  7. 内部结构

介绍

PHP 3 文档已从 PHP 手册中移除,并放置在此处以供历史参考。我们尝试保留所有文本,尽管很可能有一些文本丢失。最后一个 PHP 3 版本 (3.0.18) 于 2000 年 10 月 20 日发布。

请参阅 PHP 博物馆 获取下载,并阅读 历史 以获取有关 PHP 3 的更多信息。

配置指令

大多数指令以 php3_ 为前缀,而不是 php_。本文档未提及这些差异。

更改

FTP 配置选项从 --with-ftp 更改为 --enable-ftp

E_ALL 的值为 63。

asp_tags 指令是在 PHP 3.0.4 中添加的。

E_* 常量在 php3.ini 中没有意义,但数字值有意义。

移除

--with-imsp[=DIR] 包含 IMSP 支持(DIR 是 IMSP 的包含目录和 libimsp.a 目录)。

--with-mck[=DIR] 包含 Cybercash MCK 支持。DIR 是 cybercash mck 构建目录,默认为 /usr/src/mck-3.2.0.3-linux

--with-mod-dav=DIR 通过 Apache 的 mod_dav 包含 DAV 支持,DIR 是 mod_dav 的安装目录(仅限 Apache 模块版本)。

如果 sybase.compatability_mode 指令处于开启状态,则 PHP 会根据其 Sybase 类型自动将类型分配给结果,而不是将它们全部视为字符串。

更改的行为

返回值

unset() 返回 1。

在同一个脚本中对 setcookie() 的多次调用将以相反的顺序执行。在尝试删除一个 cookie 之前插入另一个 cookie 时,将插入放在删除之前。

eval() 不返回值。

函数参数

gettype() 有一个“用户函数”返回值。

htmlspecialchars() 在 PHP 3.0.17 中添加了第二个参数。

error_log() 的第二个参数 message 将通过调试器传递。

empty() 认为“0”是非空的,例如可能来自 HTML 表单的值。

其他

变量始终按值分配,因为没有引用。

在 HTML 表单中使用数组仅限于一维数组。

在单引号字符串中转义字符时,会生成 E_NOTICE 级别的错误。

对象在序列化和反序列化过程中会丢失其类关联。

函数必须在使用之前定义。换句话说,从上到下。

不支持可变数量的参数。

return 只能在函数块内使用。

杂项

PCRE 修饰符不可用。

is_uploaded_file() 从 PHP 3.0.16 开始存在。

BC Math 默认启用,--disable-bcmath 禁用它。

register_globals 的行为始终处于开启状态,因为该指令不存在。

short_tags() 函数可用于启用短标签 (<?)。

CGI 构建有一个“make bench”工具用于对构建进行基准测试。运行可能需要超过 30 秒,因此请确保允许适当的时间限制。

SAPI 支持不可用。

HTTP PUT 方法允许用于保存文件,其处理方式类似于 POST 方法文件保存。$PHP_PUT_FILENAME 包含创建的临时文件的位置,该文件必须在请求期间移动,否则它将被删除。

ODBC 默认启用,要禁用它请使用 --disable-unified-odbc

GD 默认启用,要禁用它请使用 --without-gd

在 Apache 中安装 PHP 3

   AddModule mod_php3.c
   LoadModule php3_module modules/libphp3.so
   AddType application/x-httpd-php3 .php3
  

SESAM 扩展特定于 PHP 3,已删除。

迁移

有一些与 PHP 3 相关的特定迁移文档,但由于其大小和结构,这些文档未添加到本文档中。

调试器

与 PHP 3 附带的调试器相关的信息未添加到本文档中。

内部结构

与 PHP 3 内部工作原理相关的信息(通常用于创建扩展)未添加到本文档中。

To Top