# 获取 PHP

本章包括 PHP 下载地址以及操作系统相关问题的详细资料。

1. PHP 可以从哪里得到？
2. 有预先编译好的可执行版本吗？
3. 编译一些可选的 PHP 扩展库所需的库文件可以从哪里得到？
4. 怎样使这些库起作用？
5. 在我的 Windows 机器上通过 Git 仓库获取最新的 PHP 源码后，我应该如何去编译？
6. 哪里可以找到 browscap.ini 文件？
7. 下载 PHP 时线程安全是什么意思？

PHP 可以从哪里得到？

  可以从任何一个 PHP 网络成员的站点下载 PHP。这些信息在 » https://www.php.net/。还可以通过匿名 Git 得到绝对是最新版的源程序。更多信息请访问 » https://www.php.net/git.php。

有预先编译好的可执行版本吗？

  我们只为 Windows 系统提供了预编译的可执行文件，因为我们没法为每个主流的 Linux/Unix 平台编译每一种扩展库组和的 PHP。同样注意，如今很多 Linux 的发行版本已经内置了 PHP。Windows 可执行文件可以从我们的 » 下载页面下载，至于 Linux 可执行文件，请访问你的 Linux 发布商的站点。

编译一些可选的 PHP 扩展库所需的库文件可以从哪里得到？

  > 注意: 有 * 号标记的都不是线程安全的；不建议在多线程环境中使用它们。

  - » LDAP (Unix)
  - » LDAP (Unix/Win): Mozilla Directory (LDAP) SDK
  - » 免费 LDAP 服务器
  - » Berkeley DB2 (Unix/Win): http://www.sleepycat.com/.
  - » SNMP* (Unix):
  - » GD (Unix/Win)。
  - » mSQL* (Unix)
  - » PostgreSQL (Unix).
  - » IMAP* (Win/Unix)
  - » Sybase-CT* (Linux, libc5)：内置
  - » FreeType (libttf):
  - » ZLib (Unix/Win32)
  - » expat XML parser (Unix/Win32)
  - » PDFLib
  - » mcrypt
  - » mhash
  - » t1lib
  - » dmalloc
  - » aspell
  - » libedit

怎样使这些库起作用？

  需要按照这些库提供的说明进行。一些库可以在运行 PHP 的“configure”时自动检测到（例如 GD 库）， 其它的必需用“`--with-EXTENSION`”选项来激活。 运行“`configure --help`”来得到完整的列表。

在我的 Windows 机器上通过 Git 仓库获取最新的 PHP 源码后，我应该如何去编译？

  参见 PHP Wiki 内的最新说明： » Step by Step Build Instructions

哪里可以找到 browscap.ini 文件？

  可以从 » http://browscap.org/ 得到一个 browscap.ini 文件。

下载 PHP 时线程安全是什么意思？

  线程安全意味着二进制文件可以在多线程的 Web 服务器环境中工作，例如 Windows 上的 Apache 2。 线程安全通过在每个线程中创建一个本地存储副本来工作，这样数据就不会与另一个线程发生冲突。

  选择哪种呢？如果你选择将 PHP 作为 CGI 二进制文件运行，那么你就不需要线程安全，因为二进制文件在每个请求中被调用。 对于多线程的 Web 服务器，例如 IIS5 和 IIS6，你应该使用线程版本的 PHP。

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open