致命错误:在 C:\wamp\www\ 中未找到“Stripe”类。

4

我遇到了一个错误,提示找不到类,但是我确定类所在的路径是正确的:

<?php

require_once('stripe-php-2.1.0/stripe/lib/Stripe.php');



Stripe::setApiKey('my_key');

var_dump($_POST['stripe-token']);

?>

我遇到的所有文章都声称问题在于require_one、include或require(不包括正确路径)。但是,我已经尝试了这三种方法,但仍然没有运气。我的数据库调用遵循相同的格式,我的WAMP服务器也没有问题创建我的数据库类。
以下是我从文件浏览器中复制粘贴的内容:
website\stripe-php-2.1.0\stripe\lib\Stripe.php 我用来访问Stripe的PHP文件与“website”位于同一位置。
PHP版本为5.5.12。
教程参考:http://www.larryullman.com/2013/01/09/writing-the-php-code-to-process-payments-with-stripe/ 其他参考资料:http://www.youtube.com/watch?v=Lka_JBM9bbY enter image description here

包含文件似乎不是问题...找不到该类。你确定class Stripe在Stripe.php文件中吗? - Bitwise Creative
@BitwiseCreative,上面添加了一张截图。 - AD6
尝试使用 require_once(__DIR__ . '/stripe-php-2.1.0/stripe/lib/Stripe.php'); - Austin
不,那也没用。@Vladimir Ramik建议在Stripe.php文件中放置die("here);。它确实打印了“here”,所以路径是正确的。必须是其他问题。 - AD6
好人!太棒了 :) 下面发布的命名空间是正确的。看起来上传文件已经为您解决了这个问题! - Vladimir Ramik
2个回答

9

这是因为它使用了命名空间。请尝试:

\Stripe\Stripe::setApiKey('my_key');

好的,这让我解决了那个错误,谢谢!但现在我又遇到了一个未定义的索引错误。$('#payment-form').submit(function(e){ $form = $(this); Stripe.card.createToken($form, function(status, response){ var token = response.id; $form.append($('<input type="hidden" name="stripe-token"/>').val(token)); $form.get(0).submit(); }); return false;}); - AD6
太好了!听起来我回答了你的问题。愿意采纳我的答案吗?未定义索引错误是一个独立的问题,你可以通过发布一个单独的问题来获得帮助。 - Bitwise Creative
是的,我会接受它 - 但你有任何想法为什么这个索引找不到吗? - AD6
谢谢!我不知道为什么你会得到索引错误,从你的主要问题和评论提供的信息来看。这就是为什么我建议您发布一个新问题,这样您可以提供更多细节,包括代码格式等。 - Bitwise Creative

1
最好初始化所有的类。
require_once ("stripe_folder/init.php");

然后使用命名空间:

\Stripe\Stripe::setApiKey('key_key_key_key_key_key');

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接