PHP中常見的錯誤和解決辦法

2021-07-27 07:10:14 字數 2655 閱讀 3162

1、php常見錯誤等級:notice,warning,strict,parse error,fatal error

2、錯誤原理:

常見的notice:未定義變數(常量),表單元素未定義(下標)

<?php

//未定義變數

// 解決方案:使用前定義

echo

$var;

//未定義常量

echo pi;

//陣列元素下標未定義

// 解決方案:在使用前進行判斷,保證**安全,增加**容錯性 if (isset($_post['name'])) echo

$_post['name'];

echo

$_post['name'];

常見的warning:包含檔案不存在,預設時區,函式引數沒有傳入值

<?php

// 包含檔案,不影響後面輸出hello world

include_once

'fatalerror.php';

echo

"hello world";

// 使用預設時區

// 解決方案:修改預設時區為'prc'

echo data('y-m-d',time());

// 實參沒有傳值

function

display

($value)

// 呼叫函式

display();

常見的strict:構造方法,類訪問非靜態方法

<?php

// 解決方案:1,將老款放下面;2,不做相容

class

girlfriend

// 構造方法

function

__construct

()

// 例項化,構造方法相容錯誤

$g = new girlfriend();

// 類是可以訪問類成員的:一般訪問靜態成員(static關鍵字修飾)和類常量(const)

girlfriend::display();

// 解決方案:分清楚角色,靜態成員和類常量都歸類訪問,普通的方法和屬性都歸物件訪問

$g::display();

}

常見的parse:結構不完整,缺少語句結束符,關鍵字學錯,定界符

<?php

// 結構不完整

// 解決方案:注意**的結構規範

if (true))

function

functionname

()} // 缺少語句結束符

// 缺少分號

echo

"helloworld"

// 定界符,結束內容必須頂格

// 第乙個符號後面不能有任何內容,包括空格和注釋

$str=<<

常見的fotal:檔案包含,使用未定義的結構(函式和類),訪問私有成員,記憶體超出,時間過長(超過30s)
<?php

// 檔案包含,require,後面的hello不能輸出

// 解決方案,載入前進行檔案判斷if(file_exit('fatalerror.php'))

require

'fatalerror.php';

echo

"hello";

// 使用未定義結構

// 解決方案:1確定定義的函式2自動載入

display(); //直接呼叫未定義的函式

$g = new girlfriend();//未定義類

// 私有成員訪問

// 解決方案:php過載

class

classname

$g = new classname();

echo

$g->name;//公有可以訪問

echo

$g->age;//fatal error

// 記憶體超出:伺服器記憶體不夠

// 解決方案:優先查遞迴,有沒有遞迴出口

// 遞迴:必須有遞迴點和遞迴出口

function

dg()

dg();

// 執行時間過長,時間超過30s

// 解決方案:加長php解決 set_time_limie(0);

$arr = array();

for ($i=0; $i

< 100000; $i++)

// 定義冒泡函式

function

bubble_sort

($arr)}}

return

$arr;

}bubble_sort($arr);

3、錯誤解決方案

a)主動解決問題

b)抑制問題

c)關閉問題

常見SSL錯誤和解決辦法

問題 此 出具的安全證書不是由受信任的證書頒發機構頒發的。原因和解決辦法 伺服器正在使用的ssl證書,沒有通過正式的ca頒發。推薦購買globalsign ssl,網購信 ssl 維瑞信 ssl通常是因為沒有正確安裝了證書,請再檢查一下是否刪除了原來的測試證書,如果 使用的證書是正確的,請重新啟動 ...

PHP中常見的錯誤提示及解決辦法

在php程式的編寫過程中難免會出現一些小的錯誤,例如拼寫錯誤以及小的符號錯誤。在php執行過程中若遇到錯誤會給出相應的提示,如何快速看懂這些提示背後的問題,對php除錯能力的提高有很大幫助。現舉例如下 我在php中編寫驗證碼時,有個簡單的判斷,if post check else 但是我開始在執行程...

SSL證書常見錯誤和解決辦法

伺服器正在使用的ssl證書不是通過正式的全球信任的ca頒發。推薦購買globalsign ssl,geotrust ssl symante ssl證書,ssl通常是因為沒有正確安裝證書,請再檢查一下是否刪除了原來的測試證書,如果 使用的證書是正確的,請重新啟動webserver。預設情況下,出於安全...