很多程序員在進(jìn)行php開發(fā)的時(shí)候都遇到過出現(xiàn)空白頁的請,綜合分析來說,在php編程中出現(xiàn)空白頁面可能是由以下幾個(gè)原因造成的:
1、邏輯錯(cuò)誤
邏輯錯(cuò)誤是最難排除的,從表面上看,也許代碼是合法的,是正規(guī)的,可運(yùn)行起來卻不是預(yù)料之中的。為什么呢?也許是編寫者想得不夠全面,畢竟人是人,計(jì)算機(jī)是計(jì)算機(jī),計(jì)算機(jī)不可能完全按照人的思路去運(yùn)行腳本。在這里,我告訴大家一個(gè)比較好的調(diào)試方法,就是使用注釋符“/* */”,注釋掉一些代碼,觀察運(yùn)行情況,以此來逐個(gè)排除錯(cuò)誤,最終找到錯(cuò)誤代碼的位置。這種情況下要想完全排除邏輯錯(cuò)誤,沒有耐心是不行的,所以要靜下心來,不要著急。
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í)將它設(shè)為1,然后判斷$action變量的值而做出不同的事件。當(dāng)然,假如$action既不等于1,也不等于2的時(shí)候,php會(huì)做什么呢?答案是――什么也不會(huì)做,所以就會(huì)產(chǎn)生了空白的頁面。知道了原因,解決就容易了。關(guān)于這個(gè)問題的解決,很簡單,在 if模塊后加一個(gè)else就可以了,打印一些信息即可。
3、語法錯(cuò)誤
大家可能會(huì)問了,如果出現(xiàn)語法錯(cuò)誤,一般會(huì)有錯(cuò)誤提示的,怎么會(huì)空白呢?當(dāng)然,這只是一些個(gè)別現(xiàn)象,在某些主頁空間中,如果你寫得php有語法錯(cuò)誤,它也不會(huì)有任何提示。解決也很容易,在上傳文件之前在本地測試,找出錯(cuò)誤的代碼進(jìn)行改正。
4、濫用錯(cuò)誤屏蔽符@
錯(cuò)誤抑制符“@”常常用于可能會(huì)發(fā)生錯(cuò)誤的地方,但是抑制符使用過多或使用得不是時(shí)候,也可能導(dǎo)致空白也免得出現(xiàn),來看看下面兩個(gè)php腳本:
test1.php:
<?php@include("test2.php");echo($var);?>
test2.php:
<?php$var = "Hi" //這行代碼有錯(cuò)誤,沒有分號(hào)$var1 = "Hello" //同上?>
運(yùn)行test1看看,結(jié)果就產(chǎn)生了空白的頁面。糾正也很簡單,可以去掉include函數(shù)前面的抑制符,或者更正test2.php文件中的錯(cuò)誤。
php技術(shù):php中出現(xiàn)空白頁的原因及解決方法匯總,轉(zhuǎn)載需保留來源!
鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請第一時(shí)間聯(lián)系我們修改或刪除,多謝。