php中出現(xiàn)空白頁(yè)的原因及解決方法匯總
很多程序員在進(jìn)行php開發(fā)的時(shí)候都遇到過(guò)出現(xiàn)空白頁(yè)的請(qǐng),綜合分析來(lái)說(shuō),在php編程中出現(xiàn)空白頁(yè)面可能是由以下幾個(gè)原因造成的:
1、邏輯錯(cuò)誤
邏輯錯(cuò)誤是最難排除的,從表面上看,也許代碼是合法的,是正規(guī)的,可運(yùn)行起來(lái)卻不是預(yù)料之中的。為什么呢?也許是編寫者想得不夠全面,畢竟人是人,計(jì)算機(jī)是計(jì)算機(jī),計(jì)算機(jī)不可能完全按照人的思路去運(yùn)行腳本。在這里,我告訴大家一個(gè)比較好的調(diào)試方法,就是使用注釋符“/* */”,注釋掉一些代碼,觀察運(yùn)行情況,以此來(lái)逐個(gè)排除錯(cuò)誤,最終找到錯(cuò)誤代碼的位置。這種情況下要想完全排除邏輯錯(cuò)誤,沒有耐心是不行的,所以要靜下心來(lái),不要著急。
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)生了空白的頁(yè)面。知道了原因,解決就容易了。關(guān)于這個(gè)問(wèn)題的解決,很簡(jiǎn)單,在 if模塊后加一個(gè)else就可以了,打印一些信息即可。
3、語(yǔ)法錯(cuò)誤
大家可能會(huì)問(wèn)了,如果出現(xiàn)語(yǔ)法錯(cuò)誤,一般會(huì)有錯(cuò)誤提示的,怎么會(huì)空白呢?當(dāng)然,這只是一些個(gè)別現(xiàn)象,在某些主頁(yè)空間中,如果你寫得PHP有語(yǔ)法錯(cuò)誤,它也不會(huì)有任何提示。解決也很容易,在上傳文件之前在本地測(cè)試,找出錯(cuò)誤的代碼進(jìn)行改正。
4、濫用錯(cuò)誤屏蔽符@
錯(cuò)誤抑制符“@”常常用于可能會(huì)發(fā)生錯(cuò)誤的地方,但是抑制符使用過(guò)多或使用得不是時(shí)候,也可能導(dǎo)致空白也免得出現(xiàn),來(lái)看看下面兩個(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)生了空白的頁(yè)面。糾正也很簡(jiǎn)單,可以去掉include函數(shù)前面的抑制符,或者更正test2.php文件中的錯(cuò)誤。
- DEDECMS5.3所有PHP頁(yè)面和后臺(tái)打開全部空白的解決辦法
- UTF8編碼開發(fā)中頁(yè)面空白問(wèn)題的解決方法
- php session_start()出錯(cuò)原因分析及解決方法
- 小結(jié)下MySQL中文亂碼,phpmyadmin亂碼,php亂碼 產(chǎn)生原因及其解決方法
- ThinkPHP實(shí)現(xiàn)多數(shù)據(jù)庫(kù)連接的解決方法
- ThinkPHP框架實(shí)現(xiàn)session跨域問(wèn)題的解決方法
- PHP執(zhí)行Curl時(shí)報(bào)錯(cuò)提示CURL ERROR: Recv failure: Connection reset by peer的解決方法
- js處理php輸出時(shí)間戳對(duì)不上號(hào)的解決方法
- PHP的foreach中使用引用時(shí)需要注意的一個(gè)問(wèn)題和解決方法
- PHP整數(shù)取余返回負(fù)數(shù)的相關(guān)解決方法
相關(guān)文章
PHP中file_exists與is_file,is_dir的區(qū)別介紹
很顯然file_exists是受了asp的影響,因?yàn)閍sp不但有fileExists還有folderExists,driverExists,那么PHP中file_exists是什么意思呢2012-09-09PHP中file_get_contents設(shè)置header請(qǐng)求頭,curl傳輸選項(xiàng)參數(shù)詳解說(shuō)明
php中遠(yuǎn)程獲取和采集內(nèi)容、實(shí)現(xiàn)PHP網(wǎng)頁(yè)版的FTP上傳下載、實(shí)現(xiàn)模擬登陸、實(shí)現(xiàn)接口數(shù)據(jù)傳輸(API)、實(shí)現(xiàn)模擬Cookie、下載文件斷點(diǎn)續(xù)傳等等,都會(huì)用到fopen、file_get_contents和curl這樣的函數(shù),當(dāng)然要對(duì)比一下了,程序架構(gòu)設(shè)計(jì)當(dāng)然要無(wú)可挑剔了。2023-07-07PHP實(shí)現(xiàn)的限制IP投票程序IP來(lái)源分析
這篇文章主要介紹了PHP實(shí)現(xiàn)的限制IP投票程序,針對(duì)投票程序中客戶端IP的判斷方法進(jìn)行了深入分析,并給出了偽造IP的方法供大家參考了解,需要的朋友可以參考下2016-05-05PHP實(shí)現(xiàn)的曲線統(tǒng)計(jì)圖表示例
這篇文章主要介紹了PHP實(shí)現(xiàn)的曲線統(tǒng)計(jì)圖表,結(jié)合實(shí)例形式分析了php基于圖形繪制實(shí)現(xiàn)曲線統(tǒng)計(jì)圖展現(xiàn)功能的相關(guān)操作技巧,需要的朋友可以參考下2016-11-11PHP實(shí)現(xiàn)的多維數(shù)組去重操作示例
這篇文章主要介紹了PHP實(shí)現(xiàn)的多維數(shù)組去重操作,結(jié)合實(shí)例形式分析了php序列化json字符串及數(shù)組轉(zhuǎn)換、去重等相關(guān)操作技巧,需要的朋友可以參考下2018-07-07淺談PHP 閉包特性在實(shí)際應(yīng)用中的問(wèn)題
PHP5.3 新版本跟隨了很多新特性, 其中比較惹眼的特性之一就是支持了閉包。那么以后,我們也可以和那幫寫 Ruby、Javascript 等等“高科技語(yǔ)言”的家伙們一樣,寫出非??岬拇a嗎?2009-10-10PHP實(shí)現(xiàn)獲取兩個(gè)以逗號(hào)分割的字符串的并集
這篇文章主要為大家詳細(xì)介紹了PHP如何實(shí)現(xiàn)獲取兩個(gè)以逗號(hào)分割的字符串的并集,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以了解一下2023-04-04