1樓:吊打肥仔凶
安裝nginx+php後,php頁面訪問時提示404,但頁面是存在的,應該是下面的原因造成的:
這個是因為index.html 檔案目錄是nginx預設安裝目錄 /usr/local/nginx/html,而info.php 把它放到了 /data/web 下造成的,可以在nginx.
conf配置文件裡面找到相應的問題。
可以按照下面測試更改:
location ~ \.php$
nginx -t && nginx -s reload
nginx+php的執行原理:
nginx的worker程序直接管理每一個請求到nginx的網路請求。
對於php而言,由於在整個網路請求的過程中php是一個cgi程式的角色,所以採用名為php-fpm的程序管理程式來對這些被請求的php程式進行管理。php-fpm程式也如同nginx一樣,需要監聽埠,並且有master和worker程序。worker程序直接管理每一個php程序。
關於fastcgi:fastcgi是一種程序管理器,管理cgi程序。市面上有多種實現了fastcgi功能的程序管理器,php-fpm就是其中的一種。
php-fpm作為一種fast-cgi程序管理服務,會監聽埠,一般預設監聽9000埠,並且是監聽本機,也就是隻接收來自本機的埠請求,所以通常輸入命令netstat -nlpt|grep php-fpm 會得到:
tcp 0 0 127.0.0.
1:9000 0.0.
0.0:* listen 1057/php-fpm
這裡的127.0.0.1:9000 就是監聽本機9000埠的意思。
關於fastcgi的配置檔案,fastcgi的配置檔案一般放在nginx.conf同級目錄下,配置檔案形式,一般有兩種:fastcgi.
conf 和 fastcgi_params。不同的nginx版本會有不同的配置檔案,這兩個配置檔案有一個非常重要的區別:fastcgi_parames檔案中缺少下列配置:
fastcgi_param script_filename $document_root$fastcgi_script_name;
可以開啟fastcgi_parames檔案加上上述行,也可以在要使用配置的地方動態新增,使該配置生效。
當需要處理php請求時,nginx的worker程序會將請求移交給php-fpm的worker程序進行處理,也就是最開頭所說的nginx呼叫了php,其實嚴格得講是nginx間接呼叫php。
2樓:
location ~ \.php$
重啟試試
3樓:匿名使用者
root html; 這行配置成絕對路徑
4樓:匿名使用者
rewrite規則看下
用php設定header返回404 但是頁面空白 是不是和php.ini/nginx有關
5樓:朱李燁
404 not found
未找到該網頁,說明此網頁已經在伺服器被刪除或被改名。在安全助手裡新增黑名單,把這個**的**輸入進去。不讓他彈出。
404是對not found這種錯誤情況的一個編碼,http協議的錯誤資訊在不同軟體、不同的語言描述可能不同,但是其**是統一的,以便瀏覽器能夠正確識別和處理。
php註冊頁面提交成功後如何 跳轉成功頁面
header location vip.php 使用者名稱的話就要用sql查詢資料庫裡面的名字,然後對比,不對的話在重試 if insert sql 省略.echo else php表單提交成功後如何跳轉到指定頁面? php表單提交成功後,最好有個判斷是否成功,成功才跳轉可以設定一個變數 resul...
php如何跳轉頁面傳陣列,php 如何定義一個陣列?
後臺 data array 這裡放你查的資訊 echo json encode data 返回一個json資料 前臺處理下就行了 育知同創教育 php跳轉頁面傳陣列的方法 1 將陣列轉化成字串,用特殊字元如 將陣列的元素隔開,用普通的字串引數傳遞 2 使用json方式傳遞引數 解析c 後臺得到的是個...
我在用zend studio執行PHP頁面時出現問題
1.安裝apche php並開啟服務 2.將寫好的 放到txt中,儲存為php3.開啟ie 輸入你檔案的路徑就可以了 注 初學不久,錯誤勿惱。山寨小王 樑志遠 朋友,你的問題解決了嗎?你可以建一個儲存空間,因為你的安裝不是預設儲存在apache下的,還有就是你把埠號加上,一定要啊!否則就時你的這種錯...