2013-04-04 27 views
0

出於某種原因,我的Mac是顯示錯誤消息「未定義指數:AN-未定義鍵」,而在Windows與WAMP它優雅地忽略例外。用法

例子:

if ($some_array['an-undefined-key']) { 
    // ... 
} 

是否有這改變了這種行爲的PHP配置?

我知道我能做到以下幾點,但我寧願使用上述技術,如果可能的話:

if (isset($some_array['an-undefined-key']) && $some_array['an-undefined-key']) { 
    // ... 
} 
+1

你可以做'if(!empty($ some_array ['an -undefined鍵'])){}'看http://se.php.net/manual/en/function.empty.php – fredrik 2013-04-04 00:12:15

+0

@fredrik這確實似乎工作。在過去,我遇到了一些問題'empty'這就是爲什麼我不傾向於使用它,但我不記得那些問題(S)分別爲:S – 2013-04-04 00:28:56

回答

0

Mac上的PHP之間的區別,你的WAMP服務器是在php.ini,嘗試修改腳本,並追加以下行到頂端:

ini_set('display_errors', '1'); 
error_reporting(E_ALL); 

這應該在您的腳本上。如果這不是問題,那麼請回複評論,我會相應改變。

+0

我試着在兩個環境中這樣做,但在這兩種情況下,這沒沒有任何區別。一個很大的區別是Wamp正在運行更高版本的PHP。儘管在搜索網絡時我無法找到任何這樣的變化。 – 2013-04-04 00:26:18

0

你應該不必要的行不添加到您的腳本,你將不得不改變他們,當你去住。

編輯您的php.ini(使用wampmanager菜單,讓您得到正確的文件) 左擊wampmanager - > PHP - > php.ini中

尋找這些參數,改變這些值

error_reporting = E_ALL ;這一個在網頁上顯示錯誤 display_errors =在 error_log =「c:/wamp/logs/php_error.log」 ;這一個會使錯誤登錄到由error_log指定的文件中,即使它們不顯示在屏幕 log_errors = On

WAMP隨附XDEBUG配置,因此您現在應該在網頁中看到大的橙色錯誤 檢查此行的php.ini文件的底部。版本號可能會在您的系統上有所不同 ; XDEBUG擴展 zend_extension =「c:/wamp/bin/php5.php5.XY/zend_ext/php_xdebug-2.2.0-5.3-vc9.dll」

相關問題