今天我想與大家分享一下關(guān)于nginx php notice的一些知識(shí)以及常見的解決方法。在我們的日常開發(fā)中,經(jīng)常會(huì)遇到這樣的問題:當(dāng)我們在使用nginx作為web服務(wù)器,采用php語言編寫應(yīng)用時(shí),頁面上會(huì)出現(xiàn)一些notice的提示信息。這些notice消息在頁面中有時(shí)候會(huì)非常煩人,但是卻又有重要的提示作用,因此在本文中,我將詳細(xì)介紹一下nginx php notice以及如何正確地解決這個(gè)問題,幫助大家在開發(fā)過程中更加高效地工作。
既然今天的話題是關(guān)于nginx php notice的,那么我們就來看看,什么是nginx php notice 呢?顧名思義,notice即是指提示信息或者警告信息。在nginx環(huán)境下,php程序會(huì)拋出一些警告或者提示信息,告訴你有哪些問題需要解決。這些提示信息有時(shí)候是非常重要的,因?yàn)樗鼈兡軌蜃屇阋庾R(shí)到你的代碼是否有錯(cuò)誤。一般來說,php notice信息通常包括:undefined variables、undefined offsets、deprecated function calls等等。下面是一些例子:
PHP Notice: Undefined index: age in /usr/local/nginx/html/index.php on line 20 PHP Notice: Undefined variable: name in /usr/local/nginx/html/index.php on line 21 PHP Notice: Undefined offset: 1 in /usr/local/nginx/html/index.php on line 22那么你們可能會(huì)問,既然php notice信息有那么大的幫助,為什么要將其屏蔽掉呢?事實(shí)上,notice提示信息并不一定是需要解決的問題。當(dāng)php命令發(fā)現(xiàn)在程序中某些地方存在問題時(shí),它會(huì)發(fā)出notice的提示,讓開發(fā)者注意到這些問題,但并不會(huì)影響我們程序的運(yùn)行。因此,在開發(fā)環(huán)境中,我們可以采用不干擾程序的方式,忽略這些提示信息;但是,在生產(chǎn)環(huán)境中,我們需要將這些提示信息屏蔽掉,提高代碼的性能。 下面我們就來看看如何解決nginx php notice問題。在解決這個(gè)問題之前,我們需要注意一個(gè)問題,那就是在忽略notice信息時(shí),一定要仔細(xì)地檢查代碼,確保代碼的質(zhì)量。如果我們不了解哪些notice信息可以忽略,哪些不應(yīng)該忽略,就會(huì)導(dǎo)致我們的代碼可能存在潛在的隱患。 解決nginx php notice問題的前置條件是去除不規(guī)范的代碼,我們可以添加一些設(shè)置來確保我們的代碼不會(huì)產(chǎn)生notice提示。這個(gè)設(shè)置非常簡單,我們只需要在php的ini文件(一般這個(gè)文件可以在/etc/php中找到)中加上下面的一條語句即可:
error_reporting=E_ALL & ~E_NOTICE這條命令告訴php,我們希望所有error報(bào)告都能夠被顯示出來,但是忽略掉notice的提示。當(dāng)我們在這樣的配置下運(yùn)行php腳本時(shí),我們會(huì)看到所有報(bào)告類型的錯(cuò)誤,但是我們不會(huì)看到提示信息。這個(gè)設(shè)置在開發(fā)環(huán)境中非常有用,因?yàn)樗梢宰屛覀兛焖俚卣业酱a中存在的錯(cuò)誤。在生產(chǎn)環(huán)境中,我們則需要將error_reporting設(shè)置為0,這樣可以確保我們的代碼的性能得到提高。當(dāng)然,這個(gè)設(shè)置也是非常容易被濫用的,所以我們需要格外謹(jǐn)慎地處理。特別是在生產(chǎn)環(huán)境中,我們需要時(shí)刻關(guān)注我們的代碼,確保它在運(yùn)行時(shí)沒有出現(xiàn)任何的錯(cuò)誤。 最后,我想強(qiáng)調(diào)一下,盡管php notice信息對于我們的代碼開發(fā)是有幫助的,但是在實(shí)際的生產(chǎn)環(huán)境中,盡量還是屏蔽掉這些提示信息。因?yàn)檫@些信息也會(huì)對我們的代碼的運(yùn)行產(chǎn)生一定的影響,并且在調(diào)試代碼時(shí),也需要我們不停地關(guān)注這些信息。因此,在我們的開發(fā)過程中,了解如何處理nginx php notice問題,學(xué)習(xí)如何更好地管理代碼是非常關(guān)鍵的。
下一篇css3使用技巧