Mac搭建php+nginx

忽而今夏發表於2021-07-09

此處不做簡述 可以閱讀這片文章。很棒!
brew.idayer.com/

//下載nginx
brew install nginx

//檢視是否安裝成功
nginx -v
可能遇到的錯誤:
//此處注意執行下面命令,可能會報錯nginx: [error] open() "/usr/local/var/run/nginx.pid" failed 

nginx -s reload  //是因為nginx服務還沒有啟動

//開啟nginx服務
brew services start nginx
//這一段是來自下載完成nginx之後官方給的提示。多看一下,記不住的copy起來看
    1.docroot 為:/usr/local/var/www
    2.預設埠已在 /usr/local/etc/nginx/nginx.conf 中設定為 8080,以便nginx 可以在沒有 sudo 的情況下執行.
    3.nginx 將載入 /usr/local/etc/nginx/servers/ 中的所有檔案。
    4.現在啟動 nginx 並在登入時重新啟動:brew servers start nginx
    5.或者,如果您不想要/不需要後臺服務,您可以執行:nginx

Tips: Mac中自帶php(可以執行 php -v 檢視),因此安裝完PHP後需要新增系統環境變數 PATH 來替代自帶 PHP 版本。

//搜尋現有php版本
brew search php

//下載自己需要的版本
brew install php@7.3

下載完成後會給出提示,php加環境變數,檔案存放路徑的命令列等等(看不明白請自行去翻譯,不給你們翻譯了:smile:)。以下給出的提示句中 PHP新增環境變數 時有一個坑(在這段提示之後有解釋)。

To enable PHP in Apache add the following to httpd.conf and restart Apache:

 LoadModule php7_module /usr/local/opt/php@7.3/lib/httpd/modules/libphp7.so

 <FilesMatch \.php$>

 SetHandler application/x-httpd-php

 </FilesMatch>

Finally, check DirectoryIndex includes index.php

 DirectoryIndex index.php index.html

The php.ini and php-fpm.ini file can be found in:

 /usr/local/etc/php/7.3/

php@7.3 is keg-only, which means it was not symlinked into /usr/local,

because this is an alternate version of another formula.

If you need to have php@7.3 first in your PATH, run:

 echo 'export PATH="/usr/local/opt/php@7.3/bin:$PATH"' >> ~/.zshrc

 echo 'export PATH="/usr/local/opt/php@7.3/sbin:$PATH"' >> ~/.zshrc

For compilers to find php@7.3 you may need to set:

 export LDFLAGS="-L/usr/local/opt/php@7.3/lib"

 export CPPFLAGS="-I/usr/local/opt/php@7.3/include"

To have launchd start php@7.3 now and restart at login:

 brew services start php@7.3

Or, if you don't want/need a background service you can just run:

 php-fpm
這裡講一下上面給出的提示中將PHP加入環境變數時遇到的問題

 echo 'export PATH="/usr/local/opt/php@7.3/bin:$PATH"' >> ~/.zshrc
 echo 'export PATH="/usr/local/opt/php@7.3/sbin:$PATH"' >> ~/.zshrc
//這兩條新增環境變數的命令列可以換掉Mac自帶的php版本,但是這兩條命令列後一定要執行

source ~/.zshrc

//source命令(從 C Shell 而來)是bash shell的內建命令。點命令,就是個點符號,(從Bourne Shell而來)是source的另一名稱。
//同樣的,當前指令碼中配置的變數也將作為指令碼的環境,source(或點)命令通常用於重新執行剛修改的初始化文件,如 .bash_profile 和 .profile 等等。

完成之後再次執行 php -v 之後的提示就與安裝之前執行的php -v提示不一樣了。說明替換成功

自己開發遇到的問題,隨手記錄。持續更新中…
本作品採用《CC 協議》,轉載必須註明作者和本文連結
Reality

相關文章