php中出現空白頁的原因及解決方案匯總_php技巧

來源:互聯網
上載者:User

很多程式員在進行php開發的時候都遇到過出現空白頁的請,綜合分析來說,在php編程中出現空白頁面可能是由以下幾個原因造成的:

1、邏輯錯誤

邏輯錯誤是最難排除的,從表面上看,也許代碼是合法的,是正規的,可運行起來卻不是預料之中的。為什麼呢?也許是編寫者想得不夠全面,畢竟人是人,電腦是電腦,電腦不可能完全按照人的思路去運行指令碼。在這裡,我告訴大家一個比較好的調試方法,就是使用注釋符“/* */”,注釋掉一些代碼,觀察運行情況,以此來逐個排除錯誤,最終找到錯誤碼的位置。這種情況下要想完全排除邏輯錯誤,沒有耐心是不行的,所以要靜下心來,不要著急。

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變數為空白時將它設為1,然後判斷$action變數的值而做出不同的事件。當然,假如$action既不等於1,也不等於2的時候,PHP會做什麼呢?答案是——什麼也不會做,所以就會產生了空白的頁面。知道了原因,解決就容易了。關於這個問題的解決,很簡單,在 if模組後加一個else就可以了,列印一些資訊即可。

3、語法錯誤

大家可能會問了,如果出現語法錯誤,一般會有錯誤提示的,怎麼會空白呢?當然,這隻是一些個別現象,在某些首頁空間中,如果你寫得PHP有語法錯誤,它也不會有任何提示。解決也很容易,在上傳檔案之前在本地測試,找出錯誤的代碼進行改正。

4、濫用錯誤屏蔽符@

錯誤抑制符“@”常常用於可能會發生錯誤的地方,但是抑制符使用過多或使用得不是時候,也可能導致空白也免得出現,來看看下面兩個PHP指令碼:

test1.php:

<?php@include("test2.php");echo($var);?>

test2.php:

<?php$var = "Hi" //這行代碼有錯誤,沒有分號$var1 = "Hello" //同上?>

運行test1看看,結果就產生了空白的頁面。糾正也很簡單,可以去掉include函數前面的抑制符,或者更正test2.php檔案中的錯誤。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.