我正在使用我使用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
这也与名称空间有关吗?
答案 0 :(得分:1)
我找到了一个新的PHP库,似乎与使用新api_key
版本创建的Clarifai中的新应用兼容:phpfanatic/clarifai
您可以轻松尝试通过composer安装它:
composer require phpfanatic/clarifai
作为依赖关系,您需要:
Here您可以通过快速教程或分步说明找到完整的文档。
答案 1 :(得分:0)
来自Clarifai的Eddie。对不起,你遇到了一个问题。
我看到您正在使用API密钥。此社区库目前仅支持我们的old auth mechanism。所有新的&#34;应用&#34;在Clarifai中,只使用removeAction
而不是api_key
和client_id
创建。
目前有PR open添加对API密钥的支持。
我们希望在今年年底之前获得一流的PHP支持。