自學(xué)黨們?cè)谧詫W(xué)php的時(shí)候,經(jīng)常會(huì)發(fā)生一些小錯(cuò)誤。由于不知道向誰(shuí)求助而心慌意亂地判斷以為自己不適合學(xué) php。其實(shí)錯(cuò)誤在每個(gè)人學(xué)習(xí)過(guò)程中都會(huì)碰到的,千萬(wàn)不要妄自菲薄。很多錯(cuò)誤在報(bào)錯(cuò)的代碼提示中已經(jīng)告訴我們了,仔細(xì)看,不會(huì)就百度。現(xiàn)總結(jié)一些常見(jiàn)的 php錯(cuò)誤,以共享php新人。
Php常見(jiàn)錯(cuò)誤提示
一、Fatal error: Call to undefined function……
函數(shù)不存在,可能的原因:1、系統(tǒng)不存在這個(gè)函數(shù)且你也沒(méi)自定義
2、有人會(huì)問(wèn),我在別的機(jī)器上就不報(bào)錯(cuò)。那是因?yàn)榄h(huán)境不同,這個(gè)函數(shù)在本機(jī)沒(méi)開(kāi),怎么開(kāi)?你百度函數(shù)名字,就能查到這個(gè)函數(shù)屬于哪個(gè)dll,去php.ini里開(kāi)啟
二、syntax error, unexpected T_STRING, expecting 。。。
嚴(yán)重語(yǔ)法錯(cuò)誤,例如syntax error, unexpected T_STRING, expecting ',' or ';' in F:\phpnow\htdocs\index.php on line 4
后邊標(biāo)著行號(hào),自己去檢查那一行的標(biāo)點(diǎn)就行
如果是 第三行 echo 1 后邊沒(méi)加;,報(bào)錯(cuò)會(huì)報(bào) on line 4 ,on line 4,就是第四行
三:Parse error: syntax error, unexpected T_VARIABLE in XXX.php on line XXX
這條語(yǔ)句是PHP常見(jiàn)的報(bào)錯(cuò),一般是在XXX行的上一行,或者是XXX行,缺少分號(hào)?;蛘咴陔p引號(hào)中使用雙引號(hào),且沒(méi)有轉(zhuǎn)義等等。
解決方法:找到XXX.php的XXX行,按照上面的分析,找到自己的錯(cuò)誤,改正即可。
貼士:作為編程人員,要做到代碼嚴(yán)謹(jǐn),思維清晰,并且細(xì)心。人非圣賢孰能無(wú)過(guò),但盡量避免這些因?yàn)榇中某霈F(xiàn)的錯(cuò)誤,這樣才能成為合格的程序員。四:Parse error: syntax error, unexpected 'X' in XXX.php on line XXX這條語(yǔ)句依然是PHP常見(jiàn)的報(bào)錯(cuò),報(bào)錯(cuò)原因是在XXX.php的XXX行,出現(xiàn)了PHP無(wú)法識(shí)別的字符。常常是因?yàn)閒unction,if等需要‘{’、‘}’的地方?jīng)]有閉合,或者在編程的時(shí)候,不小心在‘;’的后面誤打了幾個(gè)字符。
解決方法:找到XXX.php的XXX行,刪除多出的字符,添加缺少的字符即可。
五、syntax error, unexpected $end
邏輯忘了閉合
這個(gè)報(bào)錯(cuò)還有個(gè)特征,他會(huì)提示你最后一行代碼報(bào)錯(cuò),譬如你一共30行,他就告訴你 on line 30,這時(shí)候你別檢查第三十行,你要把30行挨個(gè),檢查一遍,看看哪個(gè)標(biāo)簽沒(méi)閉合。一共3000行,他就告訴你 on line 3000,這時(shí)候你別檢查這3000行了,如果你程序排版很亂,在3000行里找哪個(gè)括號(hào)是個(gè)很麻煩的事……我教你一招:
ctrl+a ctrl+d alt+f4
好了,你現(xiàn)在可以重寫(xiě)了。
六、Notice:Undefined varialbe:……
這是一個(gè)比較常見(jiàn)的錯(cuò)誤,解決方法:error_reporting調(diào)整錯(cuò)誤級(jí)別,不會(huì)調(diào)整,那就百度下。