php中出現(xiàn)空白頁的原因及解決方法匯總
很多程序員在進行php開發(fā)的時候都遇到過出現(xiàn)空白頁的請,綜合分析來說,在php編程中出現(xiàn)空白頁面可能是由以下幾個原因造成的:
1、邏輯錯誤
邏輯錯誤是最難排除的,從表面上看,也許代碼是合法的,是正規(guī)的,可運行起來卻不是預料之中的。為什么呢?也許是編寫者想得不夠全面,畢竟人是人,計算機是計算機,計算機不可能完全按照人的思路去運行腳本。在這里,我告訴大家一個比較好的調(diào)試方法,就是使用注釋符“/* */”,注釋掉一些代碼,觀察運行情況,以此來逐個排除錯誤,最終找到錯誤代碼的位置。這種情況下要想完全排除邏輯錯誤,沒有耐心是不行的,所以要靜下心來,不要著急。
2、行為未定義
看下面的代碼:
<?php
$action = $_GET['id'];
if($action == '')
$action = 1;
if($action == 1) {
echo("/$action's value is 1");
} else if($action == 2) {
echo("/$action's value is 2");
}
?>
這段代碼大家看得很明白,就是如果$action變量為空時將它設(shè)為1,然后判斷$action變量的值而做出不同的事件。當然,假如$action既不等于1,也不等于2的時候,PHP會做什么呢?答案是——什么也不會做,所以就會產(chǎn)生了空白的頁面。知道了原因,解決就容易了。關(guān)于這個問題的解決,很簡單,在 if模塊后加一個else就可以了,打印一些信息即可。
3、語法錯誤
大家可能會問了,如果出現(xiàn)語法錯誤,一般會有錯誤提示的,怎么會空白呢?當然,這只是一些個別現(xiàn)象,在某些主頁空間中,如果你寫得PHP有語法錯誤,它也不會有任何提示。解決也很容易,在上傳文件之前在本地測試,找出錯誤的代碼進行改正。
4、濫用錯誤屏蔽符@
錯誤抑制符“@”常常用于可能會發(fā)生錯誤的地方,但是抑制符使用過多或使用得不是時候,也可能導致空白也免得出現(xiàn),來看看下面兩個PHP腳本:
test1.php:
<?php
@include("test2.php");
echo($var);
?>
test2.php:
<?php $var = "Hi" //這行代碼有錯誤,沒有分號 $var1 = "Hello" //同上 ?>
運行test1看看,結(jié)果就產(chǎn)生了空白的頁面。糾正也很簡單,可以去掉include函數(shù)前面的抑制符,或者更正test2.php文件中的錯誤。
- DEDECMS5.3所有PHP頁面和后臺打開全部空白的解決辦法
- UTF8編碼開發(fā)中頁面空白問題的解決方法
- php session_start()出錯原因分析及解決方法
- 小結(jié)下MySQL中文亂碼,phpmyadmin亂碼,php亂碼 產(chǎn)生原因及其解決方法
- ThinkPHP實現(xiàn)多數(shù)據(jù)庫連接的解決方法
- ThinkPHP框架實現(xiàn)session跨域問題的解決方法
- PHP執(zhí)行Curl時報錯提示CURL ERROR: Recv failure: Connection reset by peer的解決方法
- js處理php輸出時間戳對不上號的解決方法
- PHP的foreach中使用引用時需要注意的一個問題和解決方法
- PHP整數(shù)取余返回負數(shù)的相關(guān)解決方法
相關(guān)文章
PHP mysqli_free_result()與mysqli_fetch_array()函數(shù)詳解
這篇文章主要介紹了PHP mysqli_free_result()與mysqli_fetch_array()函數(shù)詳解的相關(guān)資料,需要的朋友可以參考下2016-09-09
用mysql_fetch_array()獲取當前行數(shù)據(jù)的方法詳解
本篇文章是對使用mysql_fetch_array()獲取當前行數(shù)據(jù)的方法進行了詳細的分析介紹,需要的朋友參考下2013-06-06
PHP實現(xiàn)的消息實時推送功能【基于反ajax推送】
這篇文章主要介紹了PHP實現(xiàn)的消息實時推送功能,結(jié)合實例形式分析了php基于反ajax推送實現(xiàn)的消息實時推送前臺ajax提交、后臺數(shù)據(jù)處理等相關(guān)操作技巧,需要的朋友可以參考下2018-03-03
PHP create_function()函數(shù)應用實例詳解
create_function()函數(shù)在代碼審計中,主要用來查找項目中的代碼注入和回調(diào)后門的情況,熟悉了執(zhí)行流程,我們可以熟練的實現(xiàn)對代碼注入的payload構(gòu)造,從而進行漏洞挖掘和找出存在的缺陷2022-10-10

