Mac 搭建 PHP 開發環境

奕鵬發表於2019-09-19

分享背景

由於一直在虛擬機器的狀態下開發PHP,嘗試一下mac本地搭建環境.mac本身是自帶Apache+php的,在低版本的mac系統中,mac中的php版本是5.6的版本.

本文分享的是在mac的10.13版本.前提是本地安裝了brew包管理工具,如果還沒安裝的可以參考官網文件安裝,傳送門.

安裝步驟

1.停止本地的Apache服務


sudo apachectl stop

2.安裝NGINX


brew install nginx

3.啟動NGINX


// 檢視幫助命令

nginx -v

// 重啟命令

nginx -s reload

// 每次我們配置了虛擬主機之後,都要使用下面的命令進行重啟

sudo nginx -s reload

如果出現如下錯誤資訊


nginx: [error] open() "/usr/local/nginx/logs/nginx.pid" failed (2: No such file or directory)

解決思路是(前提是使用的brew包管理工具安裝的,如果是其他的安裝方式根據情況而定)


mkdir /usr/local/Cellar/nginx/1.15.12/logs

4.訪問NGINX,開啟瀏覽器,輸入如下網址,正確的情況就可以看到如下的截圖.


127.0.0.1:8080

5.NGINX專案目錄介紹,通過上面的步驟,就表示NGINX已經完成了.這裡有幾個檔案,我們需要關注一下.


1.nginx配置目錄

/usr/local/etc/nginx

2.nginx的專案根目錄

/usr/local/var/www

6.配置php(由於mac的高版本中已經內建了PHP7.1的版本,該文章也是基於這個基礎上操作的.後續完善該文章,實現一個多版本的切換.)

1.去掉nginx.conf中如下程式碼中的註釋(在去掉之前最好備份一份 shell cp nginx.conf nginx.conf.bak))


location ~ \.php$ {

    fastcgi_pass   127.0.0.1:9000;

    fastcgi_index  index.php;

    fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;

    include        fastcgi_params;

}

該段程式碼的主要意思就是讓nginx能夠解析到php,不然你去訪問php的檔案,nginx會預設下載該php檔案.在Apache中是以模組的方式載入的php,就是去掉


LoadModule php_module libexec/apache2/libphp7.so

2.修改1中的部分配置

原配置中的值為


/scripts$fastcgi_script_name

需要修改為


$document_root$fastcgi_script_name

該程式碼主要的意思就是讓nginx能夠識別到nginx配置檔案中的root項.不然會報not find file錯誤資訊.

重啟nginx服務,php nginx -s reload

3.配置php-fpm檔案


sudo cp /private/etc/php-fpm.conf.default /private/etc/php-fpm.conf

修改我們新複製的php-fpm.conf檔案中的如下配置專案.修改為下面的示例


pid=/var/run/php-fpm.pid

error_log=/var/log/php-fpm.log

4.啟動php-fpm服務


sudo php-fpm

啟動服務的時候可能會遇到下面的問題,反正我是遇到了(下面的路徑根據你圖片指示的路徑來定,可能有的環境路徑不一致).解決辦法是


cp /data/server/php7/etc/php-fpm.d/www.conf.default /data/server/php7/etc/php-fpm.d/www.conf

然後在啟動一次,即可.

5.編寫測試檔案,我們找到/usr/local/var/www目錄,建立一個test.php的檔案.寫入如下程式碼.


phpinfo();

6.測試效果

開啟瀏覽器,訪問http://localhost/test.php ,即可看到如下效果
7.如何實現PHP版本升級

在上面的示例中,我們安裝的PHP版本為7.1的版本.但在一些情況下面,我們可能需要更高的版本.下面升級的示例則是使用brew包管理工具進行升級.

檢視brew可安裝的PHP包


brew search php

Screen Shot 2019-07-12 at 16.34.54

其中帶√的是當前安裝的版本,接下里我們就可以安裝新版本


brew install php72

啟動服務


sudo brew services start php72

這樣我們就不需要再次去執行shell sudo php-fpm,否則會發生埠衝突.這種情況下,系統預設的PHP版本還是7.1,同時我們也便於實現PHP多版本管理.

新PHP版本安裝位置

/usr/local/Cellar/php@7.2

啟動新版本PHP服務(啟動php7.2版本之前,需要關掉之前PHP的服務,可以選擇重啟電腦來關閉)

// 重啟服務
brew services restart php@7.2
啟動服務
brew services start php@7.2
已守護程式模式啟動
php-fpm

新版本PHP配置檔案

使用 find / -name php.ini命令發現,有如下兩個配置檔案,我們這裡以第一個為主,以後的配置可以直接在第一個配置檔案進行修改
/usr/local/etc/php/7.2/php.ini
/usr/local/Cellar/php@7.2/7.2.20/.bottle/etc/php/7.2/php.ini

新版本PHP擴充套件檔案

這裡我們需要提及到常用的兩個檔案,一個是phpize,一個是php-config,這兩個檔案都需要我們在安裝php擴充套件時需要用到,他們的目錄均在如下目錄
/usr/local/Cellar/php@7.2/7.2.20/bin
本作品採用《CC 協議》,轉載必須註明作者和本文連結

卡二條

相關文章