【问题标题】:Failed opening required 'vendor/autoload.php' error when trying require_once('vendor/autoload.php');尝试 require_once('vendor/autoload.php') 时无法打开所需的 'vendor/autoload.php' 错误;
【发布时间】:2016-10-20 21:11:00
【问题描述】:

尝试启动并运行 Stripe 库。获取打开失败所需的“供应商/autoload.php”错误。

autoload.php 在 /vendor 中

运行 composer update,然后 composer install ,没有帮助。

config.php

    <?php

require_once('vendor/autoload.php');

    $stripe = array(
      "secret_key"      => "XXXXXXXXXXXXXXXXXXXXXX",
      "publishable_key" => "XXXXXXXXXXXXXXXXXXXXXX"
    );

    \Stripe\Stripe::setApiKey($stripe['secret_key']);

?>

autoload.php

<?php

// autoload.php @generated by Composer

    require_once __DIR__ . '/composer' . '/autoload_real.php';

    return ComposerAutoloaderInit18eff69591fc6597a849a05ec4932261::getLoader();

【问题讨论】:

  • 为什么需要自动加载?添加命名空间和use Stripe/Stripe 与包含...否?
  • 是 laravel 项目吗?

标签: php laravel laravel-5 composer-php stripe-payments


【解决方案1】:

您的相对路径似乎有问题。因为这个"脚本在/app/modules/stripe" 并且供应商文件夹"是/vendor",那么你可以使用常量__DIR__ 来引用包含的脚本的位置,然后向上 3 个相对目录。

require_once(__DIR__.'/../../../vendor/autoload.php');

【讨论】:

  • 肯定不在同一个目录下。脚本在 /app/modules/stripe,供应商文件夹是 /vendor
  • @LaserBeak 这就是为什么它不包括在内,你的路径是错误的。我已经用相对路径更新了我的答案
【解决方案2】:

尝试将 require_once 更改为:

require_once __DIR__ . '/vendor/autoload.php';

【讨论】:

  • 我其实already proposed这个答案,看看cmets为什么它不起作用。
  • 哦,好吧。 @JeffPuckettII
【解决方案3】:

试试这个。为我工作。

composer update --no-scripts

【讨论】:

    猜你喜欢
    • 2015-12-11
    • 2015-04-12
    • 2016-09-04
    • 2017-04-19
    • 2023-04-02
    • 2019-06-07
    • 2019-02-01
    • 2019-10-25
    • 1970-01-01
    相关资源
    最近更新 更多