PHP 自动加载类无法找到的问题解决的总结

这周利用公司的PHP框架,开发类,但是自动加载该类后,总是找不到该类。本文将对记录如何尝试解决这个问题和最后的一些总结思考。


问题描述:

在ActivationService.php定义类ActiveService,在Autoload.php注册回调spl_autoload_register自动将ActiveService.php中ActiveService类加载到内存,然后写一个测试类ActivationServiceTest,在ActivationServiceTest中调用ActiveService这个类的公用方法。运行ActiveServiceTest,结果显示无法找到ActiveService这个类。

错误输出: ?PHP Fatal error:  Class 'ActiveService' not found in /path/to/ActivationServiceTest.php line 18

可能原因分析:

1. 可能是Autoload.php中,ActiveService.php文件的路径或者文件名写错了。仔细检查后,排除该可能性。

2. spl_autoload_register调用失败。var_dump(spl_autoload_register())的结果,显示ture,排除这种可能。

3.  strace -f -o log php ActivationServiceTest.php 跟踪ActivatonServiceTest.php的调用过程发现:

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值