2010-02-06 144 views
0

如何WAMP關閉此錯誤:WAMP - 通知未定義,偏移

通知未定義,偏移

我希望把眼前這個錯誤的,但不是所有的錯誤。

+8

寫正確的代碼? – 2010-02-06 16:57:20

+1

我總是對待通知,如錯誤,但如果沒有提供任何其他洞察力,則說代碼不正確無助。 – 2010-02-06 17:02:33

+0

@Mike Sherov:我不一定認爲OP的代碼不正確。有了這個陳述,我想表達的是,處理效果(顯示消息)的**原因**比處理效果本身更好。是的,這個陳述本來是有挑釁意味的。 – 2010-02-06 17:10:55

回答

4

有在工作中的兩個問題在這裏。一個是PHP報告的錯誤,第二個是它是否在頁面上顯示這些錯誤(而不是Apache錯誤日誌)。如果您想關閉只是聲明:

<?php 
error_reporting(E_ALL & ~E_NOTICE); 
?> 

如果您想通知書報告錯誤日誌,但不將其顯示給用戶,這樣做:

<?php 
ini_set('display_errors','off'); 
?> 

注關閉顯示錯誤將停止向最終用戶顯示所有錯誤,並且您需要查看錯誤日誌,通常位於/ var/log/httpd/error_log中以查看測試過程中的任何錯誤。

+1

此外wamp有一個設置,默認情況下打開設置。它在php設置下 - >顯示錯誤。我寫了一個小博客,因爲互聯網沒有幫助:http://www.kanersan.com/blog.php?blogId=45 – c0d3Junk13 2012-03-06 15:40:46

3

看一看error_reporting()

你可以例如設置爲

error_reporting(E_ERROR | E_WARNING | E_PARSE) 

但更好的錯誤報告將實際檢查什麼是Notice的原因並解決它。那麼你是在保存方面。

E_NOTICE
運行時通知。指示腳本遇到可能指示錯誤的內容,但也可能在正常運行腳本的過程中發生。

3

(如果您無法修復代碼...)您可以通過設置報告級別x & ~E_NOTICE(例如,

<?php error_reporting(error_reporting() & ~E_NOTICE); 

或在php.ini(或類似)

error_reporting=E_ALL & ~E_NOTICE 
0

的php.ini =>使用error_reporting = E_ALL &〜E_NOTICE

0

錯誤 - >通知未定義,偏移

主要的是去除錯誤您script.Programmer總是希望設計方案,這是免費的錯誤,而不是隱藏錯誤。

未設置數組值,因此當PHP嘗試訪問這些數組鍵值時,遇到未定義的偏移量。

$new_array = array('1','2','3');//If I have an array 
//We can now access: 
$new_array[0]; 
$new_Array[1]; 
$new_array[2]; 
//If we try and access 
$new_Array[3]; 

我們會得到同樣的錯誤 - >錯誤 - >通知未定義,偏移

0
error_reporting(E_ALL); 
ini_set('display_errors', 'On'); 
ini_set('html_errors', 'Off'); 

:d

0

去這個方向上的Windows操作系統,C:\ WAMP \ BIN \阿帕奇\ Apache2.4.4 \ bin 然後打開php。ini文件中的任何編輯器推薦在514行中使用[sublime]只需粘貼這兩行。

;使用error_reporting = E_ALL
的error_reporting = E_ALL &〜E_NOTICE