先停掉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
- 手動刪除舊版本
/usr/local/Cellar/nginx目錄、/usr/local/etc/nginx/、/usr/local/var/www目錄
- 終端執行安裝nginx
brew install nginx
- 安裝完成後操作如下命令
啟動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
- 修改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;
- 執行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();
?>
日常操作
啟動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 協議》,轉載必須註明作者和本文連結