2016年2月24日 星期三

Use of undefined constant 問題

PHP程式在執行時出現 Use of undefined constant的問題。例如下圖所顯示:



但是若當PHP網頁拉到最下面時,網頁卻依舊可正常顯示。
看來這個程式存在著許多的變數為定義的狀況。

原來在PHP5.3以前,程式允許以$_SERVER[SCRIPT_FILENAME]這樣的方式編寫
但是
PHP5.4以後就必須改寫成$_SERVER['SCRIPT_FILENAME']
若是編寫程式的習慣較鬆散,許多的程式可能都會出現上面的錯誤
若是要一段一段慢慢地修正
卻也傷神


其實只要將php.ini中的error_reporting中加入 ~E_NOTICE(運行時提醒,這些經常是是你的代碼的bug引起的;~的意思是排除的意思)
例如:
error_reporting = E_ALL & ~E_DEPRECATED & ~E_NOTICE
然後再重新啟動apache2

另外再有問題的文件第一行加上
error_reporting(0); 
也可以解決問題

參考網頁:

2016年2月22日 星期一

Google找不到學校網站

近日將學校網頁及首頁網址修改了,等到正式上線時,才發現Google竟然搜尋不到自己學校的網站(只有Google喔)。
心中著實納悶,Google不是有很多厲害的網路蜘蛛嗎?怎麼可能找不到,這樣的情形持續好幾天,依舊沒有任何進展與改變。

後來參考了耘想科技網頁,主動到Google登陸網頁,以及利用site:www.dches.chc.edu.tw檢查網站是否已經被Google收錄,都無法正確出現。

最後利用www.google.com/webmasters/,向Google索取網站的索引與排名時,才發現Google對本校的連線是逾時的。檢查防火牆才發現原來誤將Google給設定為黑名單中,造成網路蜘蛛無法進入學校網站,所以所有的驗證資料都無法使用。當利用Google搜尋時,就無法找到學校的網站了。

結論是:防火牆規則的設定要很小心,另外自己如果本身是網站管理者(主機擁有者),想要被Google可以搜尋到,利用www.google.com/webmasters/,是非常方便且即時的。因為索引資料是馬上寫入Google的搜尋資料庫中。