购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

1.1 环境搭建

PHP的运行环境可以分为CLI模式和CGI模式,前者为命令行模式,可以本机运行;后者为网关模式,通常使用Nginx或Apache作为Web服务器,而PHP作为解释器来接收输入数据并将处理结果返回给Web服务器。

1.1.1 下载与安装

如果读者使用Windows平台,可以在网址https://windows.php.net/download中下载。

推荐将PHP安装在C:\php目录下。

如果读者使用Mac系统,则可以使用Homebrew来安装:

     sudo brew update
     brew install php70

如果读者使用Ubuntu系统,则可以使用如下命令来安装:

     sudo apt-get update
     sudo apt-get install php7.0-fpm php7.0-cli

本书默认PHP的安装位置如表1-1所示。

表1-1 PHP默认安装位置

以Ubuntu为例,最后安装完成之后,可以用php-v来查看版本号:

注意,本书默认的PHP版本为7,有特殊说明的除外。

1.1.2 CLI模式

在CLI模式下运行PHP代码有多种方式,本书使用如下三种:

1.运行文件
     php source.php
2.直接运行php代码
     php -r 'phpinfo()';
3.交互模式
     localhost:etc didi$ php -a
     Interactive shell
     php > echo 'hello world';
     
     hello world

1.1.3 CGI模式

CGI模式下,Web服务器接收客户端发出的请求,将地址栏的URL“路由”到一个PHP脚本,而PHP作为解释器来执行PHP脚本。这里介绍4种Web环境的配置。

1.内置Web服务器

PHP 5.4.0以上的版本提供了一个内置的Web服务器,供本地开发使用,默认的Web根目录是当前目录,也可以使用-t来指定其他的目录作为Web根目录。

     $ php -S localhost:8000 -t ~/www
     PHP 7.1.19 Development Server started at Wed Jan 23 15:11:37 2019
     Listening on http://localhost:8000
     Document root is /Users/david/www
     Press Ctrl-C to quit.
2.集成开发环境

由于LNMP环境的配置对初学者来说比较复杂和烦琐,因此一些企业或组织推出集成开发环境的一键安装包,不需要复杂配置,安装即可使用,这里推荐使用XMAPP环境。

XMAPP是一款集成PHP、MariaDB、Apache等软件的开发环境,目前提供了Windows、Mac、Linux的全平台支持的下载包。下载地址为:https://www.apachefriends.org/index.html。

3.LNMP环境

LNMP是Linux、Nginx、MySQL、PHP的缩写,是常用的PHP生产环境。本节简单描述一下在Ubuntu下安装LNMP环境的步骤。完整命令可以在随书代码的gists/ch01/install_lnmp.md文件中找到。

(1)准备必要的软件包:

     sudo apt-get install software-properties-common
     sudo apt-get install -y language-pack-en-base
     sudo LC_ALL=en_US.UTF-8 add-apt-repository ppa:ondrej/php

(2)安装PHP 7。此处安装了PHP的很多扩展,读者可以根据自己的需要酌情增减:

(3)安装Nginx:

     sudo apt-get install nginx

Nginx和PHP通信的方式有两种:TCP/IP和UNIX Domain Socket。一般推荐使用TCP/IP方式。

编辑/etc/php/7.0/fpm/pool.d/www.conf文件,使PHP-FPM监听9000端口:

     listen 127.0.0.1:9000

然后修改sites-enabled目录里的文件,将fastcgi_pass修改如下:

(4)安装MySQL Server:

运行以下命令,根据提示完成MySQL Server的安装:

     sudo apt-get install mysql-server
     sudo mysql_secure_installation

(5)重新启动服务:

     sudo service php7.0-fpm restart
     sudo service nginx restart

如果Nginx启动失败,可以将IP V6配置注释掉:

(源码文件:/etc/nginx/sites-enabled/default)

     #listen [::]:80 default_server;

访问http://localhost或相应IP即可看到Nginx的欢迎页面,如图1-1所示。

图1-1 Nginx的欢迎页面

这样即可完成安装。

4.Docker环境

习惯使用Docker的读者,也可以使用Docker搭建开发环境。LNMP环境所需要的软件镜像都可以在Docker Hub(https://hub.docker.com)里找到。表1-2列举了软件镜像的网址和命令。

表1-2 软件镜像网址及命令

这里推荐笔者开发的一个使用相关软件的Alpine版本的Docker环境。读者可以访问https://github.com/spetacular/php-alpine获取相关下载文件。

Alpine(见图1-2)是一个面向安全的轻型Linux发行版,官网地址为https://alpinelinux.org。不同于通常的Linux发行版,Alpine采用了musl libc(一种C标准函数库)和Busybox(一个遵循GPL协议、以自由软件形式发行的应用程序)来减小系统的体积和运行时的资源消耗,但功能比Busybox更为完善。Alpine的Docker镜像容量很小,只有5 MB左右,而Ubuntu镜像则接近200 MB。因此使用Alpine来搭建LNMP环境非常方便。

图1-2 Alpine操作系统的Logo

Alpine PHP环境特性如下:

● 目前集成PHP、Nginx、Redis、MySQL。

● Alpine包比Ubuntu、Centos包体积小。

● 配置任意版本,包括Nginx、MySQL、Redis、PHP。

● 自由切换htdocs目录。

Alpine PHP环境的安装运行,需要在本机安装Docker和docker-compose,其下载地址为:https://docs.docker.com/engine/installation/。

安装完毕后,下载文件包,下载地址为https://github.com/spetacular/php-alpine/archive/master.zip。

解压后进入目录执行build。如果下次启动时没更改Dockerfile,就不需要再次build。只更改docker-compose.yml不需要重新build。

     docker-compose build

执行如下命令即可启动:

     docker-compose up

这时可以访问http://localhost:8080来访问环境。

docker-compose.yml字段说明如表1-3所示。

表1-3 docker-compose.yml字段说明

另外使用时注意以下事项:

由于代码跑在Docker里,所以localhost和127.0.0.1不再可用。如需要连接Redis和MySQL,应使用如下地址:

     redis-server
     mysql-server

1.1.4 开发工具

“工欲善其事,必先利其器”。选择合适的文本编辑器,能够起到事半功倍的效果。本节我们介绍几种常见的文本编辑器及其配置方法。

1.Visual Studio Code

Visual Studio Code是微软公司开发的一款开源的文本编辑器,它包含了编辑、构建、调试的全周期所需要的功能,支持大部分主流的开发语言。它提供了丰富的插件库,读者可以根据需要加以安装和应用。Visual Studio Code提供了Windows、Linux、Mac系统下的版本,读者可以从官网地址直接下载和安装(https://code.visualstudio.com/)。

安装的方式分为全局安装和工作区安装。前者对所有的项目都适用,后者仅对当前工作区生效。

2.全局安装

打开首选项→设置,单击右上角的“{ }”符号,打开用户设置页面,如图1-3所示。

图1-3 用户设置页面

如果用户设置为空,则直接复制如下代码即可:

(源码文件:gists/ch01/vscode_php_launch.json)

如果已有用户设置,则只需将launch字段补充上去即可,例如:

(源码文件:gists/ch01/vscode_add_php_launch.json)

注意将path/to/php按照表1-1进行替换。

3.工作区安装

首先安装php debug插件。在Visual Studio Code左侧边栏切换到“扩展(Extensions)”页面,输入“php debug”,即可找到该插件,如图1-4所示。

切换到调试面板,在调试工具栏的下拉菜单里选择“添加配置”,如图1-5所示。

图1-4 输入“php debug”

图1-5 添加配置

文件内容如下:

(源码文件:gists/ch01/vscode_php_launch.json)

4.运行调试

配置完成后,可以在调试面板里运行。如图1-6所示,首先选择“Run using local PHP Interpreter”的运行配置,然后单击绿色的三角即可运行当前打开的文件。可以看到,在右下角的控制台上输出了程序执行的结果。

图1-6 程序执行结果

5.Sublime

Sublime是一款很受开发者欢迎的文本编辑器,它提供了丰富的配置选项和插件,支持大部分主流的开发语言。可以从官网地址(https://www.sublimetext.com/)下载Sublime。

在顶部菜单依次选择Tools → Build System→New Build System,这时会打开构建配置文件,如图1-7所示。

图1-7 打开构建配置文件

在打开的文件里,将内容替换为如下所示:

(源码文件:gists/ch01/sublime_php_launch.json)

其中cmd的第一个参数为PHP解释器的路径,例如Windows平台为C:\\php\\php.exe,Mac平台为/usr/bin/php。

编辑完成后,将配置保存为php.sublime-build的文件,Windows平台使用Ctrl+B组合键,Mac平台使用COMMAND+B组合键来运行代码。 d4zvEaGChf7cbEI8GcAuu6ixNXM/SgJIohMGPpefbnqh7p+ElcHBuTDVlUFUbBj4

点击中间区域
呼出菜单
上一章
目录
下一章
×