您好,登錄后才能下訂單哦!
本篇內容主要講解“mac nginx不解析php的解決方法”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“mac nginx不解析php的解決方法”吧!
mac nginx不解析php的解決辦法:1、cp正確名字的新文件;2、執(zhí)行命令“php-fpm --fpm-config...”;3、cp一份名為www.conf的文件;4、殺掉Solution進程。
本文操作環(huán)境:macOS10.15系統(tǒng)、PHP7.1版,MacBook Air 2019電腦
mac nginx不解析php怎么辦?
mac在nginx下部署php遇到的坑
受人之托,幫人部署一個網站,然后我想在本地的nginx里先調試一下。一開始,打開頁面顯示403,這個之前見過,nginx的權限問題,改了這個權限之后,發(fā)現(xiàn)訪問php頁面都是直接下載而沒有解析,我想起來電腦可能沒有php環(huán)境,就下了php,然后還是同樣的問題??傊驗閷hp不太熟悉(之前都用xampp這類軟件),所以花了一點時間才搞定。
首先要明白的是,nginx本身不能處理php,它只是一個web服務器,當前端請求php時,nginx需要把界面發(fā)給php解釋器處理,然后把結果返回給前端。一般地,nginx是把請求發(fā)給fastcgi管理進程處理。如nginx中配置:
location ~ \.php$ { root html; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;#這里原來不是$document_root,搞得我很蒙,還好網上查到改好了,不然會報file not found include fastcgi_params; }
所以要啟動一個fastcgi,這里就用到了php-fpm,它是一個php fastcgi管理器,只用于php語言(舊版php的要單獨下php-fpm,我用的php-fpm已經集成了這個)。
這里有很多奇怪的問題。
第一次運行php-fpm
failed: 找不到/private/etc/php-fpm.conf文件,
Solution:但這個目錄下有個php-fpm.conf.default的文件,所以cp了正確名字的新文件
第二次運行php-fpm
Failed: 找不到/usr/var/log/php-fpm.log
Solution:根本沒有這個目錄,到conf文件里改了但是沒有效果,沒辦法我就通過下面的命令執(zhí)行php-fpm(后面都用這個命令執(zhí)行)
php-fpm --fpm-config /private/etc/php-fpm.conf --prefix /usr/local/var
第三次運行php-fpm
Failed: No pool defined. at least one pool section must be specified in config file
Solution:到/etc/php-fpm.d/ 目錄下有文件www.conf.default,cp一份名為www.conf的文件
第四次運行php-fpm
Failed:端口被占用
Solution:殺掉這個進程
sudo lsof -i tcp:9000#找到占用9000端口的進程號
kill -9 port#殺!
第五次運行php-fpm
成功!
##補充:
在nginx上配的時候又有所一點不同,在mac上php-fpm直接listen了9000端口,但在服務器上它listen了php7.0-fpm.sock但socket文件,這種方式可能快一點,所以要在nginx上php的配置那邊將
fastcgi_pass 127.0.0.1:9000;
改成:
fastcgi_pass unix:/run/php/php7.0-fpm.sock;
才能成功運行php
undefined
繼續(xù)補充
很有意思的一個東西,要上傳27m的一個視頻,nginx直接報了413 Request Entity Too Large,是我沒設置…
到nginx的配置(set-enabled/default)里面添加
server { ... client_max_body_size 80m; ... }
重讀配置、重啟服務器
nginx -s reload service nginx restart
然后還要去修改php.ini,在其中修改兩條配置
upload_max_filesize = 80M post_max_size = 80M
然后關掉php-fpm的進程,再重啟即可~
到此,相信大家對“mac nginx不解析php的解決方法”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續(xù)學習!
免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經查實,將立刻刪除涉嫌侵權內容。