之前一直用的是php 5.3.8,今天公升級nginx,順便把php也公升級到5.4.3了,然後跑應用出錯了,資訊如下:
fatal error: call-time pass-by-reference has been removed in f:\wwwroot\……\login.php on line ******x
這個應用一直跑著沒什麼問題,所以斷定是公升級php造成的,從字面理解,是呼叫時按引用傳參的功能被移除了,對照原始碼:
出錯行:
$errorcode = $action->login($uid, $pass, &$user);login方法的定義:
class ******x }按引用傳參,其實只用在定義時指定「&」即可,呼叫時不用寫,只不過一直以來都這麼寫也沒報過錯,看來是5.4版增強了檢查,不允許這種呼叫了。
呼叫時去掉「&」,只保留方法定義中的「&」,這次一切ok了。
MySQL,4 0公升級到5 1遇到乙個問題
1 資料庫資料量暴增,對比其他業務類似的資料庫發現某個表的資料量異常,最後確定了乙個重複遷移資料的bug.120301 17 30 43 error column count of mysql.db is wrong.expected 22,found 15.the table is probabl...
MySQL,4 0公升級到5 1遇到乙個問題
1 資料庫資料量暴增,對比其他業務類似的資料庫發現某個表的資料量異常,最後確定了乙個重複遷移資料的bug.120301 17 30 43 error column count of mysql.db is wrong.expected 22,found 15.the table is probabl...
乙個指令碼把系統公升級到https
正文 那如何將乙個http站點公升級為https站點呢?為了資料傳輸的安全,https在http的基礎上加入了ssl協議,ssl協議依靠證書來驗證伺服器的身份,並為瀏覽器和伺服器之間的通訊加密。要想將http公升級為https,只需要給http站點增加乙個ca證書即可。目前獲取ca證書有兩種途徑 購...