PHP 简介
PHP 已经走过了漫长的道路。它在 Node.js 之前就存在了,由 Rasmus Lerdorf 于 1994 年创建。它最初代表的是 Personal Home Page。PHP 的参考实现现在由 PHP 官方团队( https://www.php.net/ )维护。PHP 最初被开发为一种模板语言,允许我们将 HTML 与 PHP 代码本身混合在一起,就像现在的 Twig( https://twig.symfony.com/ )和 Pug( https://pugjs.org/ )所做的那样。
现在,PHP 不仅仅是一种模板语言。多年来,它已经发展成为一种通用的脚本语言和面向对象的语言,尤其适用于服务器端 Web 开发。您仍然可以将其用于模板,但我们应该在现代 PHP 开发中充分利用其全部功能。如果您想了解 PHP 还能做什么,请访问 https://www.google.com/search?q=https://www.php.net/manual/en/intro-whatcando.php。
在撰写本书时,PHP 的当前稳定版本是 7.4.x。如果您刚开始使用 PHP,请从 PHP 7.4 开始。如果您使用的是 PHP 7.2 或 7.3,则应考虑将其升级到 PHP 7.4,因为它包含多个错误修复。有关此版本中更改的更多信息,请访问 https://www.php.net/ChangeLog-7.php。
在本书中,我们将指导您如何在支持 Apache2 的 Ubuntu 上安装或升级到 PHP 7.4。让我们开始吧!
安装或升级 PHP
如果您使用的是 macOS,请使用本指南:https://phptherightway.com/mac_setup。如果您使用的是 Windows,请使用本指南:https://www.google.com/search?q=https://phptherightway.com/windows_setup。
我们使用的是 Apache2 HTTP 服务器,但如果您的机器上已经安装了 Nginx HTTP 服务器,也可以使用它。现在,请按照以下简单步骤安装 PHP:
-
运行以下命令以更新您的
Ubuntu
服务器上的本地软件包并安装Apache2
:$ sudo apt update $ sudo apt install apache2
-
安装
Apache2
后,使用-v
选项进行验证:$ apache2 -v Server version: Apache/2.4.41 (Ubuntu) Server built: 2019-08-14T14:36:32
您可以使用以下命令停止、启动和启用
Apache2
服务,以便它在服务器启动时始终启动:$ sudo systemctl stop apache2 $ sudo systemctl start apache2 $ sudo systemctl enable apache2
您可以使用以下命令检查
Apache2
的状态:$ sudo systemctl status apache2
您应该始终在终端中获得
active
(running
) 的输出:apache2.service - The Apache HTTP Server Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: enabled) Active: active (running) since Thu 2020-08-06 13:17:25 CEST; 52min ago //...
-
运行以下命令安装 PHP 7.4:
$ sudo apt update $ sudo apt install php
-
您还应该安装开发
PHP
应用程序时可能需要的PHP 7.4
相关模块和扩展:$ sudo apt install -y php7.4-{bcmath,bz2,curl,gd,intl,json,mbstring,xml,zip,mysql}
-
禁用 PHP 7.3(如果您使用的是 PHP 7.3),然后启用 PHP 7.4:
$ sudo a2dismod php7.3 $ sudo a2enmod php7.4
如果您是第一次安装 PHP,则不必禁用旧版本。如果要卸载 PHP 及其所有相关模块,可以使用以下命令:
$ sudo apt-get purge 'php*'
-
重新启动
Apache2
和PHP
服务:$ sudo service apache2 restart
-
现在,您可以使用以下命令验证刚刚安装的 PHP:
$ php -v
您应该获得以下版本信息:
PHP 7.4.8 (cli) (built: Jul 13 2020 16:46:22) ( NTS )
Copyright (c) The PHP Group
Zend Engine v3.4.0, Copyright (c) Zend Technologies
with Zend OPcache v7.4.8, Copyright (c), by Zend Technologies
现在您已经安装了 Apache2
和 PHP 7.4
,接下来应该做的是配置 PHP
。我们将在下一节中进行此操作。
配置 PHP 7.4
现在 Apache2
和 PHP
已经安装完毕,您可能需要配置 PHP
,以便根据您的 PHP
应用程序的需求来使用它。默认的 PHP
配置文件位于 /etc/php/7.4/apache2/php.ini
,请按照以下步骤配置您的 PHP 7.4
版本:
-
运行以下命令编辑或配置
PHP 7.4
:$ sudo nano /etc/php/7.4/apache2/php.ini
您可能需要更改上传文件的默认允许大小
upload_max_filesize
:upload_max_filesize = 2M
您可以在 https://www.google.com/search?q=http://php.net/upload-max-filesize 找到有关此配置的更多信息。
对于
PHP
应用程序来说,2 MB 的最大上传文件大小可能被认为太小。因此,请继续根据您的需要进行更改,如下所示:upload_max_filesize = 32M
以下是一些其他需要考虑的重要行 /PHP 指令:
post_max_size = 48M memory_limit = 256M max_execution_time = 600
您可以在 https://www.php.net/manual/en/ini.core.php 找到有关上述 PHP 指令和其他用于配置 PHP 的指令的更多信息。
-
重新启动
Apache
以使上述修改后的PHP
设置生效:$ sudo service apache2 restart
PHP 7.4 功能强大。如果您不想在本地开发机器上安装 Apache
服务器,您可以仅安装 PHP 并使其为您的开发站点提供服务,而不依赖于 Apache
服务器。在下一节中,您将学习如何在没有 Apache
服务器的情况下使用 PHP 7.4。
使用内置 PHP Web 服务器运行 PHP 应用
从 PHP 5.4 开始,您可以使用内置的 PHP Web 服务器运行 PHP 脚本和应用程序,而无需像 Apache
或 Nginx
这样的常用 Web 服务器。只要您安装了 PHP 7.4,就可以跳过前面 Apache
的安装步骤。要启动 PHP 服务器,只需从您的项目根目录打开终端并运行以下命令:
$ php -S 0.0.0.0:8181
如果您想从特定的文档根目录(例如项目目录 www
中的 public
目录)启动应用程序,请执行以下操作:
$ cd ~/www
$ php -S localhost:8181 -t public
让我们创建一个经典的 "Hello World" 示例,该示例将由这个内置的 PHP Web 服务器提供,以查看是否一切设置正确:
-
在一个
PHP
文件中创建一个简单的 "Hello World" 消息页面,如下所示:// public/index.php <?php echo 'Hello world!';
-
导航到您的项目目录,并使用前面的命令通过内置的
PHP Web
服务器启动它。终端应显示以下信息:[Sun Mar 22 09:12:37 2020] PHP 7.4.4 Development Server (http://localhost:8181) started
-
现在,在您的浏览器中加载 localhost:8181。您应该在屏幕上看到 Hello world!,没有任何错误。
如果您想了解有关此内置 Web 服务器的更多信息,请访问 https://www.php.net/features.commandline.webserver。
接下来,您将学习如何掌握一些 PHP 标准。您还将了解什么是 HTTP 消息以及为什么现代 PHP 应用程序需要 PSR。