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