本文實(shí)例講述了thinkPHP線上自動(dòng)加載異常與修復(fù)方法。分享給大家供大家參考,具體如下:
項(xiàng)目遇到一個(gè)奇怪的問(wèn)題,本地代碼正常,服務(wù)器上卻不正常。
經(jīng)過(guò)測(cè)試,應(yīng)該是自動(dòng)加載出了問(wèn)題,嘗試了各種方法,
1.手動(dòng)加載,發(fā)現(xiàn)好麻煩,沒(méi)完沒(méi)了。
2.自己寫(xiě)自動(dòng)加載,寫(xiě)不出來(lái),尷尬。
3.修改配置,使其支持自動(dòng)加載,發(fā)現(xiàn)還是不行。
后來(lái)進(jìn)行調(diào)試,
發(fā)現(xiàn)本地支持
import('@.ORG.OSS/OssClient');import('@.ORG.OSS/Core/OssUtil');而服務(wù)器上,不支持這種斜杠的方式,卻支持.的方式
后來(lái)就把thinkphp核心代碼,進(jìn)行調(diào)整。
// 根據(jù)自動(dòng)加載路徑設(shè)置進(jìn)行嘗試搜索$paths = explode(',',C('APP_AUTOLOAD_PATH'));foreach ($paths as $path){ $class = str_replace("//",".",$class); // dump($class); if(import($path.'.'.$class)){ // dump($path.'.'.$class); // 如果加載類成功則返回 return ; }}經(jīng)過(guò)這個(gè)小小的動(dòng)作,可以了,服務(wù)器可以使用OSS了。
不容易啊!
希望本文所述對(duì)大家基于ThinkPHP框架的PHP程序設(shè)計(jì)有所幫助。
新聞熱點(diǎn)
疑難解答
圖片精選