PHP Include - 打开流时出错

时间:2017-10-10 10:28:47

标签: php clarifai

我正在使用我使用Composer下载的应用程序。

该包有许多可以调用和使用的类。 但是,当我运行以下代码时,我收到以下错误。

<?php
error_reporting(E_ALL);
ini_set('display_errors', 'On');

include 'vendor/autoload.php';

$clarifai = new \DarrynTen\Clarifai\Clarifai('CLARIFAI_API_KEY');

$input = new Input();
    $input->setImage('https://samples.clarifai.com/metro-north.jpg')->isUrl();
    $inputResult = $clarifai->getInputRepository()->add($input);

echo json_encode($inputResult);
?>

错误:

  

警告:   包括(在/ var / www / html等/供应商/ darrynten / clarifai-PHP / SRC /实体):   无法打开流:不是/var/www/html/ctest.php中的目录   第7行

     

警告:include():打开失败   包含'/ var / www / html / vendor / darrynten / clarifai-php / src / Entity'   第7行的/var/www/html/ctest.php中的(include_path ='。:/ usr / share / php')

     

致命错误:未捕获错误:未找到类“输入”   /var/www/html/ctest.php:11堆栈跟踪:#0 {main}被抛入   第11行的/var/www/html/ctest.php

类输入位于/var/www/html/vendor/darrynten/clarifai-php/src/Entity,我在第一次包含后立即使用PHP中的include关键字,无效。

include 'vendor/autoload.php';
include '/var/www/html/vendor/darrynten/clarifai-php/src/Entity';

后来,我使用了以下代码

$concept = new \DarrynTen\Clarifai\Entity\Concept();
$concept->setId('boscoe')->setValue(true);

$input = new \DarrynTen\Clarifai\Entity\Input();
$input->setImage('https://samples.clarifai.com/puppy.jpeg')->isUrl()
    ->setConcepts([$concept]);

$inputResult = $clarifai->getInputRepository()->add($input);

在最后一行,我收到此错误。 (Guzzle相关)

  

致命错误:未捕获GuzzleHttp \ Exception \ ClientException:客户端   错误:POST https://api.clarifai.com/v2/inputs导致400 Bad Request响应:   { “状态”:{ “代码”:10020, “说明”: “失败”}, “输入”:[{ “ID”: “e25be6bf0a4a4090a774694c016202cb”, “数据”:{ “图像”:{“乌尔   (截断...)in   /var/www/html/vendor/guzzlehttp/guzzle/src/Exception/RequestException.php:111   堆栈跟踪:#0   /var/www/html/vendor/guzzlehttp/guzzle/src/Middleware.php(65):   GuzzleHttp \异常\ RequestException ::创建(对象(GuzzleHttp \ PSR7 \请求),   对象(GuzzleHttp \ Psr7 \ Response))#1

这也与名称空间有关吗?

2 个答案:

答案 0 :(得分:1)

我找到了一个新的PHP库,似乎与使用新api_key版本创建的Clarifai中的新应用兼容:phpfanatic/clarifai

您可以轻松尝试通过composer安装它:

composer require phpfanatic/clarifai

作为依赖关系,您需要:

  • PHP - 5.6,7.0 - 可以使用ealier版本,此时未经测试。
  • cURL - *
  • Clarifai API Key - clarifai
  • PHPUnit - 运行测试(可选)。

Here您可以通过快速教程分步说明找到完整的文档。

答案 1 :(得分:0)

来自Clarifai的Eddie。对不起,你遇到了一个问题。

我看到您正在使用API​​密钥。此社区库目前仅支持我们的old auth mechanism。所有新的&#34;应用&#34;在Clarifai中,只使用removeAction而不是api_keyclient_id创建。

目前有PR open添加对API密钥的支持。

我们希望在今年年底之前获得一流的PHP支持。