mac搭建環境

wade發表於2022-04-12

先停掉Apache

sudo launchctl unload -w /System/Library/LaunchDaemons/org.apache.httpd.plist

看一下80埠是否還有佔用的

sudo lsof -i:80

沒有了就可以操作後面的了。

安裝Home Brew

安裝php7.4

將/usr/local/Cellar/php/7.4.7/bin/php軟連線到/usr/local/bin/php

重新啟到終端,輸入php -v看一下是不是7.4版本了

安裝Nginx

  1. 手動刪除舊版本

/usr/local/Cellar/nginx目錄、/usr/local/etc/nginx/、/usr/local/var/www目錄

  1. 終端執行安裝nginx

brew install nginx
  1. 安裝完成後操作如下命令

啟動nginx


sudo nginx

訪問nginx網站


http://localhost:8080/

檢視nginx日誌


/usr/local/var/log/nginx/error.log

/usr/local/var/log/nginx/access.log

停止nginx服務


sudo nginx -s stop

重啟nginx服務


sudo nginx -s reload
  1. 修改nginx配置

macos需要使用root owner,否則改了路徑後會提示 is forbidden (13: Permission denied)

user root owner;


/usr/local/etc/nginx/nginx.conf

更改預設根目錄,增加index.php的支援


location / {

root 自己的本地路徑;

index index.html index.htm index.php

}

取消localtion ~ .php$ { }的註釋

將root更改為自己本地的路徑

將fastcgi_param SCRIPT_FILENAME 的值改為 $document_root$fastcgi_script_name;

配置上傳檔案大小,在http節中增加


client_max_body_size 100m;
  1. 執行php修改php-fpm檔案

複製預設的預設配置為當前配置


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

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

設定php-fpm的日誌檔案,否則啟動php-fpm時會報錯,開啟/private/etc/php-fpm.conf


error_log = 你的日誌檔案目錄/php-fpm.log

macos設定php-fpm執行許可權,否則會報Primary script unknown

開啟/private/etc/php-fpm.d/www.conf檔案


user = 當前使用者名稱

group = staff

php上傳檔案大小設定

在/usr/local/etc/php/7.4/php.ini中找到upload_max_filesize改成200M

upload_max_filesize = 200M

composer中memory_limit限制

有時composer命令會提示memory_limit太小,這時需要在php.ini的memory_limit值進行更改,我建議更改為4096M

如果改了沒反應的話,需要檢查一下/usr/local/etc/php/7.4/conf.d/php-memory-limits.ini是不是存在這個檔案,如果存在的話,需要將這個也改一下

配置完成後執行


sudo php-fpm

重啟php-fpm


sudo killall php-fpm

在根目錄下建立index.php


<?php

phpinfo();

?>

訪問localhost:8080/index.php

日常操作

啟動nginx

sudo nginx

sudo php-fpm

停止nginx

sudo nginx -s stop

sudo killall php-fpm

建立多站點

建立多站點的配置資料夾

修改nginx配置


/usr/local/etc/nginx/nginx.conf

增加一個新的server


server {

listen 80;

server_name ocr.local.com;

root /Users/pengxu/Work/Code/php/ocr.local.com;

location / {

root /Users/pengxu/Work/Code/php/ocr.local.com;

index index.html index.htm index.php;

}

location ~ \.php$ {

root /Users/pengxu/Work/Code/php/ocr.local.com;

fastcgi_pass 127.0.0.1:9000;

fastcgi_index index.php;

fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;

include fastcgi_params;

}

}
本作品採用《CC 協議》,轉載必須註明作者和本文連結

相關文章