php 支付寶報Class 'LtObjectUtil' not found錯誤


 

在使用php接入支付寶支付的時候,遇到了Class 'LtObjectUtil' not found 錯誤,經過對代碼的追蹤終於找到問題了,原因是支付寶的代碼使用了scandir 函數,而php默認禁用該函數,去除禁用就可以啦。

在php配置文件查找 'disable_functions' ,刪除 scandir

 

代碼追蹤過程:

 1、首先找到 /lotusphp_runtime/Lotus.php 文件,里面有一個 prepareAutoloader() 方法,用於加載lotus的組件和用戶自定義的類庫文件,這里使用了LtAutoloader類;

 

2、找到 LtAutoloader 類,位置/lotusphp_runtime/Autoloader/Autoloader.php文件,在 init() 方法調用了scanDirs() 方法來讀取需要加載的文件,在 scanDirs() 方法里使用了scandir() 來讀取,由於php禁用了這個函數,導致報錯

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM