Search code examples
phpfile-uploadcloudinary

Cloudinary environment not set in php?


its my first time using Cloudinary. I'm trying to upload an image to cloudinary but I'm getting an error that my environment isn't set or not set correctly.

I have no idea why its not being set, I just copied what cloudinary said I had to do.

cloudinary version: "cloudinary/cloudinary_php": "^2.10"

this is my code:

require 'vendor/autoload.php';

use Cloudinary\Cloudinary;
use Cloudinary\Api\Upload\UploadApi;

$cloudinary = new Cloudinary(
    [
        'cloud' => [
            'cloud_name' => 'XXXXXXX',
            'api_key'    => 'XXXXXXXXXX',
            'api_secret' => 'XXXXXXXXXXXXXXXXX',
        ],
    ]
);

$uploadApi = new UploadApi($cloudinary);

$result = $uploadApi->upload("images/signup-image.jpg", [
  'folder' => 'promptopolis', // Optional: Specify a folder in Cloudinary
]);
  
print_r($result);

The full error i'm receiving:

Fatal error: Uncaught Cloudinary\Exception\ConfigurationException: Invalid configuration, please set up your environment in C:\xampp\htdocs\php\eindwerk\vendor\cloudinary\cloudinary_php\src\Configuration\Configuration.php:179
Stack trace:
#0 C:\xampp\htdocs\php\eindwerk\vendor\cloudinary\cloudinary_php\src\Configuration\Configuration.php(138): Cloudinary\Configuration\Configuration->import(Object(Cloudinary\Cloudinary))
#1 C:\xampp\htdocs\php\eindwerk\vendor\cloudinary\cloudinary_php\src\Configuration\Configuration.php(119): Cloudinary\Configuration\Configuration->init(Object(Cloudinary\Cloudinary), true)
#2 C:\xampp\htdocs\php\eindwerk\vendor\cloudinary\cloudinary_php\src\Api\ApiClient.php(88): Cloudinary\Configuration\Configuration->__construct(Object(Cloudinary\Cloudinary))
#3 C:\xampp\htdocs\php\eindwerk\vendor\cloudinary\cloudinary_php\src\Api\ApiClient.php(53): Cloudinary\Api\ApiClient->configuration(Object(Cloudinary\Cloudinary))
#4 C:\xampp\htdocs\php\eindwerk\vendor\cloudinary\cloudinary_php\src\Api\Upload\UploadApi.php(51): Cloudinary\Api\ApiClient->__construct(Object(Cloudinary\Cloudinary))
#5 C:\xampp\htdocs\php\eindwerk\test.php(17): Cloudinary\Api\Upload\UploadApi->__construct(Object(Cloudinary\Cloudinary))
#6 {main} thrown in C:\xampp\htdocs\php\eindwerk\vendor\cloudinary\cloudinary_php\src\Configuration\Configuration.php on line 179


Solution

  • ANSWER

    Using this code

    (new UploadApi())->upload('images/signup-image.jpg');
    

    instead of

    $uploadApi = new UploadApi($cloudinary);
    
    $result = $uploadApi->upload("images/signup-image.jpg", [
      'folder' => 'promptopolis', // Optional: Specify a folder in Cloudinary
    ]);
    

    fixed it for me.