mac nginx php php-fpm
#the php-fpm config and cammand...
cp /private/etc/php-fpm.conf.default /usr/local/etc/php-fpm.conf
php-fpm --fpm-config /usr/local/etc/php-fpm.conf --prefix /usr/local/var
ps aux | grep ‘php-fpm‘
killall -HUP php-fpm
#the nginx config and cammand...
brew services restart nginx
fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;
=====>
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
可以在你的location php 裏面添加當文件不存在時返回404而不是交給php-fpm進行處理
location ~ \.php$
{
...
#文件不存在轉404
try_files $uri = 404;
...
}
然後,在你的配置文件中找到下面這段
fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;
替換成下面 fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;mac 啟動php-fpm
Nginx訪問PHP文件的File not found錯誤處理,兩種情況
這個錯誤很常見,原有有下面兩種幾種
1. php-fpm找不到SCRIPT_FILENAME裏執行的php文件
2. php-fpm不能訪問所執行的php,也就是權限問題
第一種情況
可以在你的location php 裏面添加當文件不存在時返回404而不是交給php-fpm進行處理
location ~ \.php$
{
...
#文件不存在轉404
try_files $uri = 404;
...
}
然後,在你的配置文件中找到下面這段
fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;
替換成下面 fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;然後重新加載nginx配置文件
systemctl restart nginx第二種情況
兩種解決方法:
第一種,就是把你root文件夾設為其他用戶允許
第二種,找到你的php-fpm的配置文件,找到下面這段,把apache替換成你要的用戶組
; RPM: apache Choosed to be able to access some dir as httpd
user = apache
; RPM: Keep a group allowed to write in log dir.
group = apache
mac nginx php php-fpm