入门指南

使用当前稳定版本 (8.0)

如果你刚开始学习 PHP,请使用最新的稳定版本 PHP 8.0。 PHP 8.x 相较于7.x 和5.x 版本增加了许多 新特性。PHP 引擎大部分被重写,PHP 的运行速度比之前的版本更快。 PHP 8.0是一个重大更新,包含需要新功能和优化。

您应该尽快升级到最新文档版本 - PHP 5.6 已停止安全更新。升级很简单,因为 PHP8 没有很多的 向下不兼容。如果你不确定某个特性或方法的版本,可以在官方手册 php.net 中查找。

内置的 web 服务器

PHP 5.4 之后, 你可以不用安装和配置功能齐全的 Web 服务器,就可以开始学习 PHP。 要启动内置的 Web 服务器,需要从你的命令行终端进入项目的 Web 根目录,执行下面的命令:

  1. > php -S localhost:8000

Mac 安装

macOS 系统会预装 PHP, 只是一般情况下版本会比最新稳定版低一些。有很多种方法可以安装最新版本的PHP。

通过 Homebrew 安装

Homebrew 是 macOS 上的一个包管理器,可以帮助你轻松的安装 PHP 和各种扩展。Homebrew 的核心仓库包含了 PHP 5.6,7.0, 7.1,7.2,7.3,7.4 和 PHP 8.0。通过下面的命令安装最新版 PHP:

  1. brew install php@8.0

你可以通过修改 PATH 变量来切换 PHP 版本. 或者, 你可以使用 brew-php-switcher 来自动切换 PHP 版本。

用 Macports 安装 PHP

MacPorts 项目是一个致力于设计易用系统的开源社区,可以通过命令行, X11 或基于 Aqua 的开源软件在OS X 操作系统里使用。

MacPorts 支持预编译二进制文件, 因此你不需要再次编译依赖的源代码tar包, 它可以节省在系统上安装包的时间。

在这里,你可以使用 port install 命令来安装 php54, php55, php56, php70, php71, php72, php73, php74 or php80,例如:

  1. sudo port install php74
  2. sudo port install php80

你还可以通过 select 命令来切换你使用的 PHP 版本:

  1. sudo port select --set php php80

用 phpbrew 安装 PHP

phpbrew 是一个用于安装和管理多个 PHP 版本的工具。 如果两个不同的应用程序/项目需要不同版本的 PHP,而且你没有使用虚拟机,这会非常有用。

用 Liip’s 命令集一键安装 PHP

另一个流行的选项是 php-osx.liip.ch ,它为 5.3 到 7.3 版本提供了一键安装的方法。 它不会覆盖 Apple 安装的 PHP ,而是将所有内容安装在单独的文件夹 (/usr/local/php5)。

从源代码编译

另一种选项可以让你控制安装的 PHP 版本是 自己编译。这种情况下,请确保已安装 Xcode 或苹果的替代品 “XCode命令行工具” 可从 Apple 的 Mac 开发者中心下载。

“多合一”安装套件

以上的方法都只是安装了 PHP,并没有安装 Apache 服务器, Nginx服务器或者一个 SQL 数据库服务器。“多合一”的解决方案有比如 MAMPXAMPP,会一起安装这些软件,或还包含一些其他软件, 他们提供了一种权衡于灵活性和易于安装配置的方式。

Windows 安装

你可以从 下载 Window 下可以使用的程序包。 提取 PHP 文件后, 推荐设置环境变量,即你放置 PHP 文件的目录 PATH (php.exe 所在目录),然后你就可以在任何地方运行 PHP。

对于学习和本地开发,您可以使用 PHP 5.4+ 内置的服务器,免配置。 如果你使用包含服务器及数据库的了 “多合一”安装套件,如 Web Platform Installer, XAMPP, EasyPHP, OpenServer and WAMP ,你可以快速启动和运行 Windows 开发环境。但同时要注意下,这些工具与生产环境略有不同,因此如果你在 Windows 上工作并部署到 Linux,请注意环境差异。

如果您需要在 Windows 上运行您的生产系统,那么 IIS7 将为您提供最稳定和最佳的性能。你可以用 phpmanager (一个 IIS7 的 GUI 插件) 来管理和配置 PHP 。 IIS7 内置 FastCGI 并准备就绪,您只需要将 PHP 配置为处理程序。对于支持和额外资源,请参考 PHP在 iis.net上的专区

通常,在开发和生产的不同环境中运行你的应用程序,可能会导致在项目上线时出现奇怪的 Bug 。如果你在 Windows 上开发,但要部署到 Linux(或其他非 Windows),那么你应该考虑使用虚拟机

Chris Tankersley 写过一篇非常有用的博客文章,介绍了他 在 Windows 上开发 PHP 所使用的工具。

通用目录结构

那些刚开始为 Web 编写程序的人中的一个常见问题是:“我应该把程序文件都放哪儿?”多年来,这个答案一直是 “ DocumentRoot 程序所在的根目录” 。虽然这个答案并不完整,但它是一个很好的起点。

出于安全原因,网站用户不应访问到配置文件;因此,公共脚本保存在公共目录中,私有配置和数据要保存在此目录的外面。

对于每个团队、 内容管理系统或框架,他们每一个都会有自己的标准目录结构。然而,如果一个人单独开始一个项目,定义文件系统结构,可能会令人生畏。

Paul M. Jones 对 PHP 领域数以万计的 github 项目做了一些出色的研究。基于这项研究,他编辑了一个文件和目录结构的标准,即 标准PHP包框架。在这个目录结构中,DocumentRoot 应该指向 public/,单元测试应该在 tests/ 目录,还有 composer 安装的第三方库,放到vendor/ 目录。其他文件和目录, 遵守 标准PHP包框架 ,对于参与项目的贡献者,也会比较有意义。

本译文仅用于学习和交流目的,转载请务必注明文章译者、出处、和本文链接
我们的翻译工作遵照 CC 协议,如果我们的工作有侵犯到您的权益,请及时联系我们。

原文地址:https://learnku.com/docs/php-the-right-w…

译文地址:https://learnku.com/docs/php-the-right-w…