導航:首頁 > 編程語言 > 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狀態碼相關的資料

熱點內容
mac開發php必備軟體 瀏覽:463
解壓剁肉 瀏覽:780
參與感pdf 瀏覽:446
可以緩解壓力的網站 瀏覽:831
pc端吃雞怎麼換伺服器 瀏覽:34
安裝pdf軟體 瀏覽:876
java字元串轉字元編碼 瀏覽:372
電子風車電路的單片機程序 瀏覽:892
如何使用景安雲伺服器 瀏覽:236
西門子300pdf 瀏覽:810
獲取前100個素數python 瀏覽:414
QD45壓縮機 瀏覽:202
qq密碼暴力查看器解壓密碼 瀏覽:457
蘋果app手機怎麼退款流程 瀏覽:110
程序員用87還是104 瀏覽:552
如何查詢mt4伺服器ip地址 瀏覽:673
光伏逆變器控制演算法 瀏覽:564
alevelpdf 瀏覽:240
google瀏覽器無法定位伺服器地址 瀏覽:473
伺服器通道如何分區 瀏覽:530