elke_be
January 28, 2025, 10:33pm
1
Silverstripe Version: SS5.3
Question:
I have the SilverStripe Cloudinary module (GitHub - MadeHQ/silverstripe-cloudinary: SilverStripe Module. Replaces SilverStripe's inbuilt asset management with Cloudinary. ) set up and it’s working great. Only trouble is I get an error when trying to run dev/tasks:
[Emergency] Uncaught Cloudinary\Exception\ConfigurationException: Invalid configuration, please set up your environment…
Line 293 in /var/www/html/vendor/cloudinary/cloudinary_php/src/Configuration/Configuration.php
throw new ConfigurationException(‘Invalid configuration, please set up your environment’);
I have my config set up in yml as per the documentation:
MadeHQ\Cloudinary:
cloud_name: 'example_cloud_name'
api_key: 'my_api_key'
api_secret: 'my_api_secret'
I know the config is correct as I am able to access my Cloudinary account via the CMS and attach images etc just fine.
It seems to me that when trying to access dev/tasks, the config has not yet been set? How do I get dev/tasks to read the config? This is a major issue for me, as it is also preventing me from running cron jobs via sake dev/tasks/ProcessJobQueueTask
.
I have entered the bug for the module here: Error when trying to access dev/tasks · Issue #199 · MadeHQ/silverstripe-cloudinary · GitHub
Is it possible to suppress that error when accessing dev/tasks? The module is not required for queuing or running tasks.
Any help or suggestions in the meantime would be much appreciated!
Without seeing a stack trace for the exception it’ll be hard to give any advice as to whether (let alone how) you could avoid executing the buggy code during a dev/build. Can you please provide a stack trace?
ntd
February 3, 2025, 6:38am
3
Also: did you flush after modifying the configuration?
yes multiple times. No change after /dev/build?flush=all
. Note that /dev/build
runs fine, /dev/tasks
gets error.
Can you please copy/paste instead of using a screenshot - and make sure you include the full stack trace? It looks like there’s probably two errors there.
elke_be
February 9, 2025, 11:48pm
7
I’ve set Backtrace::backtrace();
in my _config.php
- I assume this is what you meant by full stack trace?
Here’s the copied and pasted result:
require_once(/var/www/html/app/_config.php)
Module.php:236
SilverStripe\Core\Manifest\requireFile(/var/www/html/app/_config.php)
Module.php:186
SilverStripe\Core\Manifest\Module->activate()
ModuleManifest.php:152
SilverStripe\Core\Manifest\ModuleManifest->activateConfig()
BaseKernel.php:224
SilverStripe\Core\BaseKernel->bootConfigs()
CoreKernel.php:36
SilverStripe\Core\CoreKernel->boot()
HTTPApplication.php:132
SilverStripe\Control\HTTPApplication->SilverStripe\Control\{closure}(SilverStripe\Control\HTTPRequest)
HTTPMiddlewareAware.php:65
SilverStripe\Control\HTTPApplication->callMiddleware(SilverStripe\Control\HTTPRequest, Closure)
HTTPApplication.php:130
SilverStripe\Control\HTTPApplication->execute(SilverStripe\Control\HTTPRequest, Closure, )
HTTPApplication.php:113
SilverStripe\Control\HTTPApplication->handle(SilverStripe\Control\HTTPRequest)
index.php:33
[Emergency] Uncaught Cloudinary\Exception\ConfigurationException: Invalid configuration, please set up your environment
GET /dev/tasks/
Line 293 in /var/www/html/vendor/cloudinary/cloudinary_php/src/Configuration/Configuration.php
Source
284 {
285 $this->importJson($otherConfig->jsonSerialize());
286
287 return $this;
288 }
289
290 public function validate()
291 {
292 if (empty($this->cloud->cloudName)) {
293 throw new ConfigurationException('Invalid configuration, please set up your environment');
294 }
295 }
296
297 /**
298 * Serialises Configuration to Cloudinary url
299 *
Trace
Cloudinary\Configuration\Configuration->validate
Cloudinary.php:59
Cloudinary\Cloudinary->__construct
InjectionCreator.php:35
SilverStripe\Core\Injector\InjectionCreator->create
Injector.php:631
SilverStripe\Core\Injector\Injector->instantiate
Injector.php:1027
SilverStripe\Core\Injector\Injector->getNamedService
Injector.php:979
SilverStripe\Core\Injector\Injector->get
Injector.php:521
SilverStripe\Core\Injector\Injector->convertServiceProperty
Injector.php:513
SilverStripe\Core\Injector\Injector->convertServiceProperty
Injector.php:497
SilverStripe\Core\Injector\Injector->updateSpecConstructor
Injector.php:1023
SilverStripe\Core\Injector\Injector->getNamedService
Injector.php:979
SilverStripe\Core\Injector\Injector->get
TaskRunner.php:184
SilverStripe\Dev\TaskRunner->taskEnabled
TaskRunner.php:165
SilverStripe\Dev\TaskRunner->getTaskList
TaskRunner.php:141
SilverStripe\Dev\TaskRunner->getTasks
QueuedTaskRunner.php:82
Symbiote\QueuedJobs\Controllers\QueuedTaskRunner->index
RequestHandler.php:321
SilverStripe\Control\RequestHandler->handleAction
Controller.php:274
SilverStripe\Control\Controller->handleAction
RequestHandler.php:200
SilverStripe\Control\RequestHandler->handleRequest
Controller.php:200
SilverStripe\Control\Controller->handleRequest
RequestHandler.php:224
SilverStripe\Control\RequestHandler->handleRequest
Controller.php:200
SilverStripe\Control\Controller->handleRequest
Director.php:348
SilverStripe\Control\Director->SilverStripe\Control\{closure}
SEORequestProcessor.php:78
SilverStripers\SEO\Control\SEORequestProcessor->process
HTTPMiddlewareAware.php:62
SilverStripe\Control\Director->SilverStripe\Control\Middleware\{closure}
VersionedHTTPMiddleware.php:41
SilverStripe\Versioned\VersionedHTTPMiddleware->process
HTTPMiddlewareAware.php:62
SilverStripe\Control\Director->SilverStripe\Control\Middleware\{closure}
LoginSessionMiddleware.php:56
SilverStripe\SessionManager\Middleware\LoginSessionMiddleware->process
HTTPMiddlewareAware.php:62
SilverStripe\Control\Director->SilverStripe\Control\Middleware\{closure}
ConfirmationMiddleware.php:254
SilverStripe\Control\Middleware\ConfirmationMiddleware->process
HTTPMiddlewareAware.php:62
SilverStripe\Control\Director->SilverStripe\Control\Middleware\{closure}
ConfirmationMiddleware.php:254
SilverStripe\Control\Middleware\ConfirmationMiddleware->process
HTTPMiddlewareAware.php:62
SilverStripe\Control\Director->SilverStripe\Control\Middleware\{closure}
PasswordExpirationMiddleware.php:84
SilverStripe\Security\PasswordExpirationMiddleware->process
HTTPMiddlewareAware.php:62
SilverStripe\Control\Director->SilverStripe\Control\Middleware\{closure}
BasicAuthMiddleware.php:68
SilverStripe\Security\BasicAuthMiddleware->process
HTTPMiddlewareAware.php:62
SilverStripe\Control\Director->SilverStripe\Control\Middleware\{closure}
AuthenticationMiddleware.php:61
SilverStripe\Security\AuthenticationMiddleware->process
HTTPMiddlewareAware.php:62
SilverStripe\Control\Director->SilverStripe\Control\Middleware\{closure}
ExecMetricMiddleware.php:20
SilverStripe\Control\Middleware\ExecMetricMiddleware->process
HTTPMiddlewareAware.php:62
SilverStripe\Control\Director->SilverStripe\Control\Middleware\{closure}
GTagMiddleware.php:46
DorsetDigital\SimpleGTag\GTagMiddleware->process
HTTPMiddlewareAware.php:62
SilverStripe\Control\Director->SilverStripe\Control\Middleware\{closure}
EmailObfuscator.php:37
Axllent\EmailObfuscator\Control\Middleware\EmailObfuscator->process
HTTPMiddlewareAware.php:62
SilverStripe\Control\Director->SilverStripe\Control\Middleware\{closure}
CanonicalURLMiddleware.php:245
SilverStripe\Control\Middleware\CanonicalURLMiddleware->process
HTTPMiddlewareAware.php:62
SilverStripe\Control\Director->SilverStripe\Control\Middleware\{closure}
HTTPCacheControlMiddleware.php:39
SilverStripe\Control\Middleware\HTTPCacheControlMiddleware->process
HTTPMiddlewareAware.php:62
SilverStripe\Control\Director->SilverStripe\Control\Middleware\{closure}
ChangeDetectionMiddleware.php:28
SilverStripe\Control\Middleware\ChangeDetectionMiddleware->process
HTTPMiddlewareAware.php:62
SilverStripe\Control\Director->SilverStripe\Control\Middleware\{closure}
FlushMiddleware.php:30
SilverStripe\Control\Middleware\FlushMiddleware->process
HTTPMiddlewareAware.php:62
SilverStripe\Control\Director->SilverStripe\Control\Middleware\{closure}
SessionMiddleware.php:20
SilverStripe\Control\Middleware\SessionMiddleware->process
HTTPMiddlewareAware.php:62
SilverStripe\Control\Director->SilverStripe\Control\Middleware\{closure}
AllowedHostsMiddleware.php:60
SilverStripe\Control\Middleware\AllowedHostsMiddleware->process
HTTPMiddlewareAware.php:62
SilverStripe\Control\Director->SilverStripe\Control\Middleware\{closure}
TrustedProxyMiddleware.php:176
SilverStripe\Control\Middleware\TrustedProxyMiddleware->process
HTTPMiddlewareAware.php:62
SilverStripe\Control\Director->SilverStripe\Control\Middleware\{closure}
DebugBarMiddleware.php:17
LeKoala\DebugBar\Middleware\DebugBarMiddleware->process
HTTPMiddlewareAware.php:62
SilverStripe\Control\Director->SilverStripe\Control\Middleware\{closure}
HTTPMiddlewareAware.php:65
SilverStripe\Control\Director->callMiddleware
Director.php:357
SilverStripe\Control\Director->handleRequest
HTTPApplication.php:114
SilverStripe\Control\HTTPApplication::SilverStripe\Control\{closure}
call_user_func
HTTPApplication.php:137
SilverStripe\Control\HTTPApplication->SilverStripe\Control\{closure}
HTTPMiddlewareAware.php:65
SilverStripe\Control\HTTPApplication->callMiddleware
HTTPApplication.php:130
SilverStripe\Control\HTTPApplication->execute
HTTPApplication.php:113
SilverStripe\Control\HTTPApplication->handle
index.php:33
That is not what I meant. I meant include the full backtrace that the error message provides to you, in text, rather than an image that shows a portion of it.
elke_be
February 11, 2025, 8:12am
9
@GuySartorelli Ok. The above copied and pasted text is the entire error message trace provided by SilverStripe when I try to access mydomain/dev/tasks (withBacktrace::backtrace();
in my _config.php
). As far as I can tell it’s only the one error. If this is not the full stack trace, please advise how to produce it.