【问题标题】:Google Cloud Vision - PHP from terminal - error loading credentialsGoogle Cloud Vision - 来自终端的 PHP - 加载凭据时出错
【发布时间】:2019-10-29 15:31:16
【问题描述】:

我正在尝试通过 PHP 使用 Google Cloud Vision API。我创建了我的第一个测试页面,当从网站运行时,PHP 可以正常工作,没有任何问题。我的项目有了新的变化,我想从终端运行相同的 PHP 代码。

我现在遇到的问题是我收到一个错误,即我的脚本没有加载凭据。

这是我用来加载在我的网站版本中工作的凭据文件的代码...

putenv('GOOGLE_APPLICATION_CREDENTIALS=Credential-file.json');

这不适用于我的终端运行版本的代码。所以我尝试了其他几个选项,比如......

putenv('GOOGLE_APPLICATION_CREDENTIALS=/Full/Path/To/Credential-file.json');

$_ENV['GOOGLE_APPLICATION_CREDENTIALS'] = "/Full/Path/To/Credential-file.json";

确切的错误是......

PHP Fatal error:  Uncaught DomainException: Could not load the default credentials. Browse to https://developers.google.com/accounts/docs/application-default-credentials for more information in /Library/WebServer/Documents/google_vision/vendor/google/auth/src/ApplicationDefaultCredentials.php:156

我的问题是...当我尝试从终端运行我的 PHP 时,有没有更好的方法来加载凭据文件?或者我在我的版本中犯了什么错误?

我应该提到我正在使用 Google Cloud 客户端库在 MacOS 上运行它。

任何帮助/建议将不胜感激。

提前致谢!

【问题讨论】:

    标签: php terminal google-cloud-platform google-cloud-vision


    【解决方案1】:

    错误消息表明变量设置不正确(与将其设置为无效路径相反)。

    putenv 仅持续当前脚本的持续时间。在$_ENV 上设置值不会使它们可用于getenv,这是Google auth 库使用的方法。您是否在正在执行的同一脚本中设置凭据环境变量?

    您也可以在调用中提供值:

    GOOGLE_APPLICATION_CREDENTIALS=/path/to/keyfile.json php my-script.php
    

    或者在终端会话中设置变量:

    export GOOGLE_APPLICATION_CREDENTIALS=/path/to/keyfile.json
    php my-script.php
    

    如果您使用Google\Cloud\Vision\V1\ImageAnnotatorClient,您可以直接使用密钥文件进行身份验证:

    use Google\Cloud\Vision\V1\ImageAnnotatorClient;
    
    $vision = new ImageAnnotatorClient([
        'credentials' => '/path/to/keyfile.json
    ]);
    

    或者Google\Cloud\Vision\VisionClient:

    use Google\Cloud\Vision\VisionClient;
    
    $vision = new VisionClient([
        'keyFilePath' => '/path/to/keyfile.json'
    ]);
    

    【讨论】:

      猜你喜欢
      • 2017-07-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-02-24
      • 2019-04-03
      • 1970-01-01
      • 2016-08-24
      相关资源
      最近更新 更多