【问题标题】:Stripe API Recurring Payment: 'Fatal error: Uncaught Error: Class "Dotenv\Dotenv"'Stripe API 定期付款:'致命错误:未捕获的错误:类“Dotenv\Dotenv”'
【发布时间】:2021-06-22 14:39:19
【问题描述】:

我是一个完全的新手,我只是将教程和用例拼凑在一起,以加快我对这个新领域的理解,所以很抱歉不知道发生了什么。

无论如何,情况如下:我正在使用 xampp 作为测试服务器来创建一个数据库驱动的网站,其中包括一个登录页面、一个搜索页面和一个配置文件页面,您可以在其中使用 Stripe 的 API 订阅定期包。

按照 Stripe 在此处的说明:https://stripe.com/docs/billing/subscriptions/checkout,我从 Github 复制了所有代码以处理第 4 步并刷新了索引页面,只是为了看看是否发生了一些事情。我最终得到了这个错误:

Fatal error: Uncaught Error: Class "Dotenv\Dotenv" not found in C:\xampp\root\index.php:15

我使用 Windows 安装程序下载了 composer,然后,我通过在命令终端中输入“composer”来验证它是否正常工作。在这一点上,我不确定发生了什么。在vendor目录下,symfony、stripe和composer都有自己的文件夹。

有人可以帮忙吗?

<?php

include "db_connect.php";
include "header.php";   //just some script and style sources, as well as the upper half of the html body tag
require_once("stripe-php/init.php");


use Slim\Http\Request;
use Slim\Http\Response;
use Stripe\Stripe;

require 'C:/Users/USER/vendor/autoload.php';

$dotenv = Dotenv\Dotenv::create(__DIR__);
$dotenv->load();

【问题讨论】:

  • 您尝试过什么调试问题?如果您的文件存储在C:\xampp\root\ ,您为什么要尝试从C:/Users/USER/vendor 要求自动加载器?
  • 你关注the instructions to install the Stripe PHP sample code了吗?我特别想知道你是下载了那里的所有文件并运行了composer install,还是只下载了index.php中的代码?
  • @NicoHaase,在调试方面并不多,因为我不完全理解这个问题。我刚刚检查了是否安装了条带客户端。我不确定为什么需要自动加载器,我真的无法质疑它。来自 github 的代码是 Stripe 网站上的直接“点击查看完整示例代码”,所以我只是假设它会起作用。
  • @JustinMichael,我几乎只是将示例 index.php 中的代码复制到我自己的文件中。我下载了作曲家并安装了条纹。我猜这还不够,哈哈。我对在那里看到的一切感到不知所措和困惑,但既然你已经指出了这一点,我确实注意到那里所有其他似乎必要的文件我没有下载。
  • 啊,是的,index.php 代码无法单独运行,它旨在与该存储库中的其余示例代码一起使用。您可能想改用a simpler example with fewer dependencies(这是一次性购买,但通过更改某些属性来修改订阅很容易)。

标签: php composer-php stripe-payments


【解决方案1】:

您看到该错误的原因是您仅复制了 index.php 代码,该代码并非旨在单独工作。该代码具有依赖项,其中之一是 Dotenv,需要使用 Composer 安装。

为了使示例代码正常工作,您需要下载所有代码并关注the instructions noted in the php-slim folder

  1. 运行composer install 安装依赖项
  2. 在本地启动测试PHP服务器:php -S localhost:4242 index.php
  3. 在浏览器中打开 http://localhost:4242

另见the instructions at the top-level of that repo

【讨论】:

  • 是的。很抱歉错过了如此明显的东西。它变得如此势不可挡。我可以理解 PHP 以及数据如何在服务器和客户端之间传递、url 和所有这些东西,但是 PHP 库和作曲家的东西是全新的,所以我的批判性思维只是有点关闭。无论哪种方式,我都感谢你们花时间了解我的问题并提供解决方案。谢谢!
猜你喜欢
  • 2017-04-02
  • 2016-09-09
  • 2019-05-14
  • 2017-05-16
  • 2016-09-17
  • 2020-07-28
  • 2018-04-19
  • 2022-12-10
  • 2018-09-06
相关资源
最近更新 更多