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