【问题标题】:Uncaught exception 'Exception' with message 'Option `access_token` can only be a string.'未捕获的异常 'Exception' 带有消息“选项 `access_token` 只能是一个字符串。”
【发布时间】:2019-09-05 17:52:09
【问题描述】:

我完全按照 GoCardless API 的“入门”说明进行操作,但在尝试运行简单脚本时出现此错误

“未捕获的异常 'Exception' 带有消息 'Option access_token 只能是一个字符串。'”

require '../../vendor/autoload.php';

$client = new \GoCardlessPro\Client([
    // We recommend storing your access token in an environment variable for security, but you could include it as a string directly in your code
    'access_token' => getenv('sandbox_XXXX-XXXXx_XXX_XXX-XXX'),
    // Change me to LIVE when you're ready to go live
    'environment' => \GoCardlessPro\Environment::SANDBOX
]);

我做错了什么?

【问题讨论】:

  • var_dump(getenv('sandbox_XXXX-XXXXx_XXX_XXX-XXX')); 会得到什么?
  • @aynber - 我得到bool(false)
  • 然后你需要弄清楚为什么它返回 false,以及它应该有什么。
  • 这很明显,哈哈 - 我完全遵循了这一点 (developer.gocardless.com/getting-started/api/…),所以应该不会出现任何错误?
  • 文档中并没有告诉你如何从剪贴板获取访问令牌到环境,所以它缺少一两步。

标签: php gocardless


【解决方案1】:

正如您已经知道的那样,PHP 没有找到环境变量。这就是为什么你在 var 转储 getenv 函数时得到错误的原因。

如果您不使用它,请尝试使用此库。它为环境变量添加了一个抽象层,使任何人都可以轻松地在项目中使用它们。

https://github.com/vlucas/phpdotenv

希望我能帮上忙。

【讨论】:

    猜你喜欢
    • 2013-08-24
    • 2012-04-25
    • 2014-03-17
    • 2014-08-19
    • 2018-11-17
    • 2014-08-08
    • 1970-01-01
    • 2013-02-01
    • 1970-01-01
    相关资源
    最近更新 更多