導航:首頁 > 編程語言 > php返回http狀態碼

php返回http狀態碼

發布時間:2025-05-24 16:32:28

1. php獲取客戶端狀態碼返回200或404

今天做了個程序,需要取得HTTP狀態碼,於是繼續搜索無力,果然中文資源非常少,於是去查了PHP的手冊。
找到了curl這個小工具。
使用curl需要在php.ini中設置啟用才行 >< Windows的伺服器中,打開php.ini,找到:
extension=php_curl.dll
去掉前面的注釋既可 。

實現代碼如下:

$curl = curl_init();
$url=』http://www.smdcn.net』;
curl_setopt($curl, CURLOPT_URL, $url); //設置URL
curl_setopt($curl, CURLOPT_HEADER, 1); //獲取Header
curl_setopt($curl,CURLOPT_NOBODY,true); //Body就不要了吧,我們只是需要Head
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); //數據存到成字元串吧,別給我直接輸出到屏幕了
$data = curl_exec($curl); //開始執行啦~
echo curl_getinfo($curl,CURLINFO_HTTP_CODE); //我知道HTTPSTAT碼哦~
curl_close($curl); //用完記得關掉他

完成~~

2. Http協議狀態碼理解(1**~5**)

通俗的來說,nginx作為一個代理伺服器,將請求轉發到其他伺服器或者php-cgi來處理,當nginx收到了無法理解的響應時,就返回502。當nginx超過自己配置的超時時間還沒有收到請求時,就返回504錯誤。

php-fpm沒有啟動

我們關閉php-fpm。

刷新頁面,發現返回502錯誤:

nginx的error_log:

php-fpm請求超時

我們首先將php-fpm.conf中的 max_terminate_request 改成5s:

在php腳本中添加如下語句:

刷新頁面,發現返回502錯誤:

查看php-fpm的error_log,有如下日誌:

查看nginx的error_log,有如下日誌:

504即nginx超過了自己設置的超時時間,不等待php-fpm的返回結果,直接給客戶端返回504錯誤。但是此時php-fpm依然還在處理請求(在沒有超出自己的超時時間的情況下)。

這里有三個相關的配置:

這里我們將fastcgi_read_timeout設置為1s,後端還是延遲20s,觀測效果:

nginx返回504錯誤。

3. PHP動態頁面如何讓頁面返回404狀態碼

header("HTTP/1.0 404 Not Found");

這個我剛試了下是可以的,應該是你這句話不是在頁面的頂部,而是中間,頂部默認就輸出一個200了。

4. php 301返回302狀態嗎

http狀態碼 301 (永久移動) 請求的網頁已永久移動到新位置。 伺服器返回此響應(對 GET 或 HEAD 請求的響應)時,會自動將請求者轉到新位置。
http狀態碼 302 (臨時移動) 伺服器目前從不同位置的網頁響應請求,但請求者應繼續使用原有位置來進行以後的請求。

5. PHP寫的頁面無法訪問,報HTTP500錯誤,這個是怎麼回事

原因百分之80來自於網站根目錄的config.php文件中資料庫相關設定錯誤,這種錯誤排除,只要檢查一下config.php文件中的伺服器和資料庫名稱、使用者名稱、密碼,還有資料庫前綴字串,再來就是檔案文件路徑,只要是多一個或少一個符號、大小寫錯誤、空格…絕對會賞你一個[HTTP 500 內部伺服器發生錯誤]的排頭吃。

再來百分之10的錯誤來自於網站程式碼設計錯誤也會出現[HTTP 500 內部伺服器發生錯誤]的頁面,這個錯誤一來可以從視窗工具=>網際網路選項=>進階=>去掉勾選:顯示易懂的HTTP錯誤訊息,二來可以從網站根目錄的error_log紀錄中看出一些端倪,再來排除,還有百分之5剛好碰上訪問的網站在維護,最多的例子是網站升級和網站遷移。
將錯誤訊息顯示出來。

而顯示的方法有兩種,一種是設定php.ini;另一種是透過程式碼開啟,操作方法請參考以下:
一、設定php.ini

1.首先開啟php.ini檔

2.使用「Ctrl」+「F」搜尋【display_errors】

3.將「display_errors=Off」改為「display_errors=On」

4.重新啟動Apache

5.重啟開啟網頁

二、透過程式碼開啟

1.開啟顯示「伺服器錯誤(500)」的程式檔

2.於程式檔加入以下程式碼

ini_set("display_errors", "On"); // 設定是否顯示錯誤( On=顯示, Off=隱藏 )

3.重啟開啟網頁

6. 大神們 thinkphp怎麼設置404頁面 謝謝

在ACTION中新建一個文件EmptyAction.class.php,文件中的代碼如下:


<?php
classEmptyActionextendsAction{
function_empty(){
header("HTTP/1.0404NotFound");//使HTTP返回404狀態碼
$this->display("Public:404");
}
}
?>


在apache中設置


在你的網站配置中加入ErrorDocument404/404.html即可。


在iis中設置


IIS/ASP.net下設置404錯誤頁面


打開apachehttpd.conf配置文件或者新建.htaccess配置文件


首先,修改應用程序根目錄的設置,打開「web.config」文件編輯,在其中加入如下內容:

<configuration>
<system.web>
<customErrorsmode=」On」defaultRedirect=」error.asp」>
<errorstatusCode=」404″redirect=」notfound.asp」/>
</customErrors>
</system.web>
</configuration>


註:上文例中「error.asp」為系統默認的404頁面,「notfound.asp」為自定義的404頁面,使用時請修改相應文件名。

然後,在自定義的404頁面「notfound.asp」中加入:

<%

Response.Status=「404NotFound」

%>


php404

if(如果沒有任何結果)

{

//以前是僅僅顯示「該帖子已經不存在」的提示,現在是:

require(』/404.php』);

@header(』HTTP/1.1404NotFound』);

@header(』Status:404NotFound』);

exit;

}

閱讀全文

與php返回http狀態碼相關的資料

熱點內容
為啥個人辦不了解壓手續 瀏覽:259
小孩子點讀app怎麼看課本 瀏覽:652
博客的源碼怎麼用 瀏覽:874
唐詩精選pdf 瀏覽:146
瀏覽器怎麼保存整個源碼 瀏覽:587
軟體與伺服器連接錯誤怎麼辦 瀏覽:573
加密狗的東西在哪裡找 瀏覽:7
壓縮玩具瓶子 瀏覽:706
怎麼給老福特app評分 瀏覽:664
程序員成富二代 瀏覽:296
新聞學和程序員的薪資待遇 瀏覽:404
ecs伺服器怎麼樣 瀏覽:408
阿里雲伺服器的安全組全部勾選 瀏覽:604
php教學網站 瀏覽:312
php正則表達式語法 瀏覽:622
at單片機下載方式 瀏覽:347
安卓新系統桌面布局怎麼好看 瀏覽:546
ab源碼下載 瀏覽:558
axureandroid控制項下載 瀏覽:219
mc如何刪伺服器 瀏覽:360