官术网_书友最值得收藏!

1.1 環(huán)境搭建

PHP的運(yùn)行環(huán)境可以分為CLI模式和CGI模式,前者為命令行模式,可以本機(jī)運(yùn)行;后者為網(wǎng)關(guān)模式,通常使用Nginx或Apache作為Web服務(wù)器,而PHP作為解釋器來接收輸入數(shù)據(jù)并將處理結(jié)果返回給Web服務(wù)器。

1.1.1 下載與安裝

如果讀者使用Windows平臺(tái),可以在網(wǎng)址https://windows.php.net/download中下載。

推薦將PHP安裝在C:\php目錄下。

如果讀者使用Mac系統(tǒng),則可以使用Homebrew來安裝:

sudo brew update
brew install php70

如果讀者使用Ubuntu系統(tǒng),則可以使用如下命令來安裝:

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

本書默認(rèn)PHP的安裝位置如表1-1所示。

表1-1 PHP默認(rèn)安裝位置

以Ubuntu為例,最后安裝完成之后,可以用php-v來查看版本號(hào):

注意,本書默認(rèn)的PHP版本為7,有特殊說明的除外。

1.1.2 CLI模式

在CLI模式下運(yùn)行PHP代碼有多種方式,本書使用如下三種:

1.運(yùn)行文件

php source.php

2.直接運(yùn)行php代碼

php -r 'phpinfo()';

3.交互模式

localhost:etc didi$ php -a
Interactive shell
php > echo 'hello world';
hello world

1.1.3 CGI模式

CGI模式下,Web服務(wù)器接收客戶端發(fā)出的請(qǐng)求,將地址欄的URL“路由”到一個(gè)PHP腳本,而PHP作為解釋器來執(zhí)行PHP腳本。這里介紹4種Web環(huán)境的配置。

1.內(nèi)置Web服務(wù)器

PHP 5.4.0以上的版本提供了一個(gè)內(nèi)置的Web服務(wù)器,供本地開發(fā)使用,默認(rèn)的Web根目錄是當(dāng)前目錄,也可以使用-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.集成開發(fā)環(huán)境

由于LNMP環(huán)境的配置對(duì)初學(xué)者來說比較復(fù)雜和煩瑣,因此一些企業(yè)或組織推出集成開發(fā)環(huán)境的一鍵安裝包,不需要復(fù)雜配置,安裝即可使用,這里推薦使用XMAPP環(huán)境。

XMAPP是一款集成PHP、MariaDB、Apache等軟件的開發(fā)環(huán)境,目前提供了Windows、Mac、Linux的全平臺(tái)支持的下載包。下載地址為:https://www.apachefriends.org/index.html。

3.LNMP環(huán)境

LNMP是Linux、Nginx、MySQL、PHP的縮寫,是常用的PHP生產(chǎn)環(huán)境。本節(jié)簡(jiǎn)單描述一下在Ubuntu下安裝LNMP環(huán)境的步驟。完整命令可以在隨書代碼的gists/ch01/install_lnmp.md文件中找到。

(1)準(zhǔn)備必要的軟件包:

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的很多擴(kuò)展,讀者可以根據(jù)自己的需要酌情增減:

(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監(jiān)聽9000端口:

listen 127.0.0.1:9000

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

(4)安裝MySQL Server:

運(yùn)行以下命令,根據(jù)提示完成MySQL Server的安裝:

sudo apt-get install mysql-server
sudo mysql_secure_installation

(5)重新啟動(dòng)服務(wù):

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

如果Nginx啟動(dòng)失敗,可以將IP V6配置注釋掉:

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

#listen [::]:80 default_server;

訪問http://localhost或相應(yīng)IP即可看到Nginx的歡迎頁(yè)面,如圖1-1所示。

圖1-1 Nginx的歡迎頁(yè)面

這樣即可完成安裝。

4.Docker環(huán)境

習(xí)慣使用Docker的讀者,也可以使用Docker搭建開發(fā)環(huán)境。LNMP環(huán)境所需要的軟件鏡像都可以在Docker Hub(https://hub.docker.com)里找到。表1-2列舉了軟件鏡像的網(wǎng)址和命令。

表1-2 軟件鏡像網(wǎng)址及命令

這里推薦筆者開發(fā)的一個(gè)使用相關(guān)軟件的Alpine版本的Docker環(huán)境。讀者可以訪問https://github.com/spetacular/php-alpine獲取相關(guān)下載文件。

Alpine(見圖1-2)是一個(gè)面向安全的輕型Linux發(fā)行版,官網(wǎng)地址為https://alpinelinux.org。不同于通常的Linux發(fā)行版,Alpine采用了musl libc(一種C標(biāo)準(zhǔn)函數(shù)庫(kù))和Busybox(一個(gè)遵循GPL協(xié)議、以自由軟件形式發(fā)行的應(yīng)用程序)來減小系統(tǒng)的體積和運(yùn)行時(shí)的資源消耗,但功能比Busybox更為完善。Alpine的Docker鏡像容量很小,只有5 MB左右,而Ubuntu鏡像則接近200 MB。因此使用Alpine來搭建LNMP環(huán)境非常方便。

圖1-2 Alpine操作系統(tǒng)的Logo

Alpine PHP環(huán)境特性如下:

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

● Alpine包比Ubuntu、Centos包體積小。

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

● 自由切換htdocs目錄。

Alpine PHP環(huán)境的安裝運(yùn)行,需要在本機(jī)安裝Docker和docker-compose,其下載地址為:https://docs.docker.com/engine/installation/。

安裝完畢后,下載文件包,下載地址為https://github.com/spetacular/php-alpine/archive/master.zip。

解壓后進(jìn)入目錄執(zhí)行build。如果下次啟動(dòng)時(shí)沒更改Dockerfile,就不需要再次build。只更改docker-compose.yml不需要重新build。

docker-compose build

執(zhí)行如下命令即可啟動(dòng):

docker-compose up

這時(shí)可以訪問http://localhost:8080來訪問環(huán)境。

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

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

另外使用時(shí)注意以下事項(xiàng):

由于代碼跑在Docker里,所以localhost和127.0.0.1不再可用。如需要連接Redis和MySQL,應(yīng)使用如下地址:

redis-server
mysql-server

1.1.4 開發(fā)工具

“工欲善其事,必先利其器”。選擇合適的文本編輯器,能夠起到事半功倍的效果。本節(jié)我們介紹幾種常見的文本編輯器及其配置方法。

1.Visual Studio Code

Visual Studio Code是微軟公司開發(fā)的一款開源的文本編輯器,它包含了編輯、構(gòu)建、調(diào)試的全周期所需要的功能,支持大部分主流的開發(fā)語(yǔ)言。它提供了豐富的插件庫(kù),讀者可以根據(jù)需要加以安裝和應(yīng)用。Visual Studio Code提供了Windows、Linux、Mac系統(tǒng)下的版本,讀者可以從官網(wǎng)地址直接下載和安裝(https://code.visualstudio.com/)。

安裝的方式分為全局安裝和工作區(qū)安裝。前者對(duì)所有的項(xiàng)目都適用,后者僅對(duì)當(dāng)前工作區(qū)生效。

2.全局安裝

打開首選項(xiàng)→設(shè)置,單擊右上角的“{ }”符號(hào),打開用戶設(shè)置頁(yè)面,如圖1-3所示。

圖1-3 用戶設(shè)置頁(yè)面

如果用戶設(shè)置為空,則直接復(fù)制如下代碼即可:

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

如果已有用戶設(shè)置,則只需將launch字段補(bǔ)充上去即可,例如:

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

注意將path/to/php按照表1-1進(jìn)行替換。

3.工作區(qū)安裝

首先安裝php debug插件。在Visual Studio Code左側(cè)邊欄切換到“擴(kuò)展(Extensions)”頁(yè)面,輸入“php debug”,即可找到該插件,如圖1-4所示。

切換到調(diào)試面板,在調(diào)試工具欄的下拉菜單里選擇“添加配置”,如圖1-5所示。

圖1-4 輸入“php debug”

圖1-5 添加配置

文件內(nèi)容如下:

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

4.運(yùn)行調(diào)試

配置完成后,可以在調(diào)試面板里運(yùn)行。如圖1-6所示,首先選擇“Run using local PHP Interpreter”的運(yùn)行配置,然后單擊綠色的三角即可運(yùn)行當(dāng)前打開的文件??梢钥吹?,在右下角的控制臺(tái)上輸出了程序執(zhí)行的結(jié)果。

圖1-6 程序執(zhí)行結(jié)果

5.Sublime

Sublime是一款很受開發(fā)者歡迎的文本編輯器,它提供了豐富的配置選項(xiàng)和插件,支持大部分主流的開發(fā)語(yǔ)言。可以從官網(wǎng)地址(https://www.sublimetext.com/)下載Sublime。

在頂部菜單依次選擇Tools → Build System→New Build System,這時(shí)會(huì)打開構(gòu)建配置文件,如圖1-7所示。

圖1-7 打開構(gòu)建配置文件

在打開的文件里,將內(nèi)容替換為如下所示:

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

其中cmd的第一個(gè)參數(shù)為PHP解釋器的路徑,例如Windows平臺(tái)為C:\\php\\php.exe,Mac平臺(tái)為/usr/bin/php。

編輯完成后,將配置保存為php.sublime-build的文件,Windows平臺(tái)使用Ctrl+B組合鍵,Mac平臺(tái)使用COMMAND+B組合鍵來運(yùn)行代碼。

主站蜘蛛池模板: 夏河县| 麟游县| 西丰县| 沈丘县| 黔西县| 白朗县| 凌源市| 沿河| 肇庆市| 招远市| 米易县| 麻城市| 如东县| 滁州市| 时尚| 波密县| 砀山县| 弋阳县| 三原县| 永新县| 扎赉特旗| 墨竹工卡县| 商丘市| 龙口市| 麟游县| 西丰县| 利辛县| 元阳县| 万荣县| 湘乡市| 乌兰察布市| 桂林市| 祁阳县| 渑池县| 琼海市| 乌苏市| 霍山县| 长葛市| 兰州市| 白山市| 邵阳县|