PHP集成Stripe遇类找不到致命错误,请求协助排查
问题排查与修复方案
你遇到的“无法找到类”错误,主要由路径配置错误、语法错误导致,以下是针对性修复步骤:
1. 修复vendor自动加载文件的路径
你的vendor文件夹在cPanel根目录,而Config.php位于orange.fruit.com项目文件夹内,当前的require_once "vendor/autoload.php";会在项目目录下查找vendor,必然找不到。修改为上级目录的相对路径:
require_once "../vendor/autoload.php";
2. 修正代码中的语法错误
原代码存在2处语法问题:
RETURN_URL定义使用了中文单引号,且URL未用英文引号包裹:// 错误写法 define('RETURN_URL’, orange.fruit.com/confirm.php'); // 修正后 define('RETURN_URL', 'orange.fruit.com/confirm.php');setApiKey`中的反引号是输入错误,应为正常字母:// 错误写法 $gateway->setApiK`ey(STRIPE_SECRET_KEY); // 修正后 $gateway->setApiKey(STRIPE_SECRET_KEY);
3. 理解第4行use Omnipay\Omnipay;的作用
这行代码是命名空间导入,作用是将\Omnipay\Omnipay这个全限定类名简化为Omnipay,后续可以直接通过Omnipay::create()调用类方法,无需每次写完整的命名空间路径。只要autoloader路径正确,这个导入就能正常生效。
4. 验证Omnipay Stripe包的完整性
如果是手动上传的vendor文件夹,确认vendor/omnipay/stripe目录下的文件完整无缺失;如果是通过Composer安装,确保执行过正确的安装命令:
composer require league/omnipay omnipay/stripe
修复以上问题后,重新运行Config.php,“无法找到类”的错误即可解决。
内容的提问来源于stack exchange,提问作者Student
相关产品推荐
相关产品推荐

