clarifai — PHP Include — ошибка при открытии потока

Я использую приложение, которое я скачал с помощью 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);
?>

Ошибка:

Предупреждение:
включают в себя (/ вар / WWW / HTML / поставщик / darrynten / clarifai-PHP / SRC / Entity):
не удалось открыть поток: не каталог в /var/www/html/ctest.php на
строка 7

Предупреждение: include (): Ошибка открытия
‘/ var / www / html / vendor / darrynten / clarifai-php / src / Entity’ для включения
(include_path = ‘.: / usr / share / php’) в /var/www/html/ctest.php в строке 7

Неустранимая ошибка: неперехваченная ошибка: не найден входной класс
/var/www/html/ctest.php:11 Трассировка стека: брошено # 0 {main}
/var/www/html/ctest.php в строке 11

Класс Input находится по адресу /var/www/html/vendor/darrynten/clarifai-php/src/Entity который я включаю, используя ключевое слово include в PHP сразу после первого включения, но безрезультатно.

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);

на последней строке я получаю эту ошибку. (Связанное с жадностью)

Неустранимая ошибка: Uncaught GuzzleHttp \ Exception \ ClientException: Клиент
ошибка: POST https://api.clarifai.com/v2/inputs привело к 400
Bad Request
ответ:
{ «Статус»: { «код»: 10020, «Описание»: «Ошибка»}, «входы»: [{ «ID»: «e25be6bf0a4a4090a774694c016202cb», «данные»: { «образ»: { «Ур
(усеченный …) в
/var/www/html/vendor/guzzlehttp/guzzle/src/Exception/RequestException.php:111
Трассировка стека: # 0
/var/www/html/vendor/guzzlehttp/guzzle/src/Middleware.php(65):
GuzzleHttp \ Exception \ RequestException :: создать (Object (GuzzleHttp \ pSR7 \ Request),
Объект (GuzzleHttp \ Psr7 \ Response)) # 1

Это также связано с пространством имен?

1

Решение

Я нашел новую библиотеку PHP, которая кажется совместимой с новые приложения в Clarifai создан с новым api_key версия: phpfanatic / clarifai

Вы можете легко попробовать установить его через композитор:

composer require phpfanatic/clarifai

В качестве зависимостей вам необходимо иметь:

  • PHP — 5.6, 7.0 — Может работать с более ранней версией, не проверенной в настоящее время.
  • cURL — *
  • Clarifai API Key — кларифай
  • PHPUnit — для запуска тестов (необязательно).

Вот Вы можете найти полную документацию с краткое руководство или же пошаговое объяснение.

1

Другие решения

Эдди из Clarifai здесь. Извините, вы столкнулись с проблемой.

Я вижу, что вы используете ключ API. Эта общественная библиотека в настоящее время поддерживает только старый механизм аутентификации. Все новые «приложения» в Clarifai создаются только с api_key в отличие от client_id а также client_secret,

Там в настоящее время PR открытый добавить поддержку ключей API.

Мы надеемся получить первоклассную поддержку PHP к концу года.

0