• Welcome to the Chevereto user community!

    Here users from all over the world gather around to learn the latest about Chevereto and contribute with ideas to improve the software.

    Please keep in mind:

    • 😌 This community is user driven. Be polite with other users.
    • 👉 Is required to purchase a Chevereto license to participate in this community (doesn't apply to Pre-sales).
    • 💸 Purchase a Pro Subscription to get access to active software support and faster ticket response times.
  • Chevereto Support CLST

    Support response

    Support checklist

    • Got a Something went wrong message? Read this guide and provide the actual error. Do not skip this.
    • Confirm that the server meets the System Requirements
    • Check for any available Hotfix - your issue could be already reported/fixed
    • Read documentation - It will be required to Debug and understand Errors for a faster support response

Error when Adding Storage. Amazon S3

ajalpha

Chevereto Member
🎯Description of the issue

Hi, I'm getting an error when adding trying to add storage. The error message is: "Can't insert storage. Error: Host must be a string - check your input parameters". I have attached an image of the error. Please help thanks.

▶🚶‍Reproduction steps
  1. Go to Dashboard > Settings > External storage
😢Unexpected result

[Example: Images are not getting uploaded at all and the system throws "An error occurred, try again later".]

📃Error log message

[Provide any relevant error log entry. You may check our documentation for help on this]
 

Attachments

  • Screen Shot 2020-02-10 at 2.33.44 AM.png
    Screen Shot 2020-02-10 at 2.33.44 AM.png
    72.3 KB · Views: 3
Hi,

My guess is that the system tries to discover the hostname by quering the network and a wrong type response is provided. You could try by setting up the bucket in another S3 region like Oregon or by checking other services like DreamObjects (same as S3 but way cheaper).

The error is being triggered by a sub-dependency (Guzzle) of the Amazon S3 SDK. Sadly, I was't able to reproduce the error. I created a new key/id + bucket in the alleged region just to test and everything works fine at my end. I really doubt that the problem is on the bucket configuration.

Since I wasn't able to trigger the issue, I need the error trace to investigate this further. Please provide any error log entry relevant to this error. This file is generated by your server and it shouldn't be hard to locate it. In any case, I'm always willing to check it directly in your server if you prefer that route.

Let me know how can I assist you further,
Rodolfo.
 
Hi Rodolfo,

I tried in Oregon region, but same error.

Is DreamObjects really cheaper? I compared there pricing, and looks like S3 is less. I am a newb when it comes to this stuff, so please explain if I'm missing something with the pricing structure.

Here is the error log:

[14-Feb-2020 03:03:22 America/Los_Angeles] InvalidArgumentException: Host must be a string in /home3/ajalpha/public_html/app/vendor/guzzlehttp/psr7/src/Uri.php:611
Stack trace:
#0 /home3/ajalpha/public_html/app/vendor/guzzlehttp/psr7/src/Uri.php(458): GuzzleHttp\Psr7\Uri->filterHost(NULL)
#1 /home3/ajalpha/public_html/app/vendor/guzzlehttp/guzzle/src/Client.php(246): GuzzleHttp\Psr7\Uri->withHost(NULL)
#2 /home3/ajalpha/public_html/app/vendor/guzzlehttp/guzzle/src/Client.php(114): GuzzleHttp\Client->buildUri(Object(GuzzleHttp\Psr7\Uri), Array)
#3 /home3/ajalpha/public_html/app/vendor/aws/aws-sdk-php/src/Handler/GuzzleV6/GuzzleHandler.php(43): GuzzleHttp\Client->sendAsync(Object(GuzzleHttp\Psr7\Request), Array)
#4 /home3/ajalpha/public_html/app/vendor/aws/aws-sdk-php/src/WrappedHttpHandler.php(87): Aws\Handler\GuzzleV6\GuzzleHandler->__invoke(Object(GuzzleHttp\Psr7\Request), Array)
#5 /home3/ajalpha/public_html/app/vendor/aws/aws-sdk-php/src/ClientSideMonitoring/AbstractMonitoringMiddleware.php(126): Aws\WrappedHttpHandler->__invoke(Object(Aws\Command), Object(GuzzleHttp\Psr7\Request))
#6 /home3/ajalpha/public_html/app/vendor/aws/aws-sdk-php/src/S3/PermanentRedirectMiddleware.php(43): Aws\ClientSideMonitoring\AbstractMonitoringMiddleware->__invoke(Object(Aws\Command), Object(GuzzleHttp\Psr7\Request))
#7 /home3/ajalpha/public_html/app/vendor/aws/aws-sdk-php/src/S3/PutObjectUrlMiddleware.php(41): Aws\S3\PermanentRedirectMiddleware->__invoke(Object(Aws\Command), Object(GuzzleHttp\Psr7\Request))
#8 /home3/ajalpha/public_html/app/vendor/aws/aws-sdk-php/src/Middleware.php(126): Aws\S3\PutObjectUrlMiddleware->__invoke(Object(Aws\Command), Object(GuzzleHttp\Psr7\Request))
#9 /home3/ajalpha/public_html/app/vendor/guzzlehttp/promises/src/FulfilledPromise.php(39): Aws\Middleware::Aws\{closure}(Object(Aws\Credentials\Credentials))
#10 /home3/ajalpha/public_html/app/vendor/guzzlehttp/promises/src/TaskQueue.php(47): GuzzleHttp\Promise\FulfilledPromise::GuzzleHttp\Promise\{closure}()
#11 /home3/ajalpha/public_html/app/vendor/guzzlehttp/promises/src/Promise.php(246): GuzzleHttp\Promise\TaskQueue->run(true)
#12 /home3/ajalpha/public_html/app/vendor/guzzlehttp/promises/src/Promise.php(223): GuzzleHttp\Promise\Promise->invokeWaitFn()
#13 /home3/ajalpha/public_html/app/vendor/guzzlehttp/promises/src/Promise.php(267): GuzzleHttp\Promise\Promise->waitIfPending()
#14 /home3/ajalpha/public_html/app/vendor/guzzlehttp/promises/src/Promise.php(225): GuzzleHttp\Promise\Promise->invokeWaitList()
#15 /home3/ajalpha/public_html/app/vendor/guzzlehttp/promises/src/Promise.php(62): GuzzleHttp\Promise\Promise->waitIfPending()
#16 /home3/ajalpha/public_html/app/vendor/aws/aws-sdk-php/src/AwsClientTrait.php(58): GuzzleHttp\Promise\Promise->wait()
#17 /home3/ajalpha/public_html/app/vendor/aws/aws-sdk-php/src/AwsClientTrait.php(86): Aws\AwsClient->execute(Object(Aws\Command))
#18 /home3/ajalpha/public_html/app/lib/classes/class.storage.php(201): Aws\AwsClient->__call('putObject', Array)
#19 /home3/ajalpha/public_html/app/lib/classes/class.storage.php(431): CHV\Storage::uploadFiles(Array, Array)
#20 /home3/ajalpha/public_html/app/lib/classes/class.storage.php(500): CHV\Storage::test(Array)
#21 /home3/ajalpha/public_html/app/routes/route.json.php(830): CHV\Storage::insert(Array)
#22 /home3/ajalpha/public_html/lib/G/classes/class.handler.php(232): G\Handler->{closure}(Object(G\Handler))
#23 /home3/ajalpha/public_html/lib/G/classes/class.handler.php(132): G\Handler->processRequest()
#24 /home3/ajalpha/public_html/app/loader.php(782): G\Handler->__construct(Array)
#25 /home3/ajalpha/public_html/index.php(20): include_once('/home3/ajalpha/...')
#26 {main}
 
The error thrown is the same. Maybe upgrading to php 7.3 fixes this (I run 7.2 on the demo and I don't get this issue).

If upgrading to a recent php doesn't fix the issue then I'm afraid that I will need to debug it directly in your machine. If you are OK with that let me know to provide you with instructions.

As Chevereto delivers image hosting, the traffic costs could be high in Amazon S3 (top tier hot storage). It all depends on how you are going to use Chevereto, if it will be a public service I recommend you to check other alternatives like B2, S3 clones, and always put a cache on top of the storage server.
 
I tried uninstalling & reinstalling chevereto in softaculous, but no luck same issue.

Upgrading the php, seems to be out of my knowledge. Don't want to mess something up.

Can you please debug it directly on my machine?
 
Sure, send access to REDACTED

Include:
  • A link to this ticket
  • Server access credentials
  • Website URL and path in the server
  • Amazon S3 credentials
 
Hi, sorry for the late reply.

I've added your bucket to the demo (had to fix permissions) but it worked. Then I tried your server and I got the error you describe.

What I've found is that your PHP version and server setup the bundled dependencies fail for this. I've rebuild all the dependencies in your installation and everything should be working fine now.

Cheers,
Rodolfo.
 
Thanks so much Rodolfo, but I can't test it out on my end.

When I launch my website, I login, then get a blank white screen.

I tried clearing cache, cookies, another browser but same issue. After logging in I get a blank white screen.
 
Thanks, but now I encountered multiple issues.

1. When I upload any image, I get an error. I attached image of error.
2. When I click on "Albums", I don't see any of my albums. That page also gets somehow frozen, only a few buttons work when clicked.
3. Clicking "My Profile", I get white blank screen.
4. Clicking "Explore", I get white blank screen.
 

Attachments

  • Screen Shot 2020-02-26 at 6.46.12 PM.png
    Screen Shot 2020-02-26 at 6.46.12 PM.png
    153.3 KB · Views: 2
Hi, could you elaborate on how you installed the software? Try to include all details of the process. I've found countless issues in your installation, which varies from wrong files to missing database indexes and you are also running a deprecated PHP version (7.1).

I don't have issues in check and fix the problems, but I'm afraid that support here will be endless as your installation is all broken and I can't imagine how you managed to get rid of the database indexes (or why). You will understand that I can't spent all my time on just one conflicting installation where I have to be discovering issues due to unwanted alterations of the software.

As the software is editable, installable and configurable, the more details you feed me, the more I can do to fix your installation.
 
Thats so weird, but I completely understand Rodolfo.

I installed Chevereto free with softaculous inside HostGator. I then purchased the premium a few days later. I touched no backend settings.

It seems to me like my webhost provider(HostGator) is causing all the issues. Do you recommend to get another web host provider? If so, which one do you recommend that won't have all these issues in the first place.
 
The problem is more odd that I think, seems that a dependency (jbroadway/urlify) didn't respected the semantic version rules (a set of rules in which programmers specify which version packages are safe to use) and broke the backwards compatibility by introducing type hinting. In other words, a dependency made an arbitrary interface change that broke some functionality.

This was triggered in your installation when I updated the Amazon SDK dependencies. I took care of fixing the missing database stuff and fixing the vendor calls now.

This issue is not related to the hoster you are using. However, the best kind of server to run Chevereto is a VPS because shared hosts are made to fit a market and a certain kind of usage for a given PHP server. In the case of Chevereto, a VPS gives you way more speed and performance plus reliability.
 
Thanks for that info. With hostgator the latest option for php is 7.1.

I think its best if I start fresh with a new hoster, don't want to continue having issues.

I just noticed on your site that you recommend TMDHosting. I checked it out and there latest php is 7.3. Will get TMD, and hopefully all goes well from the start and no issues.

The question now is, can I use the same core license? I will be getting a new domain, starting fresh. Will install CheveretoFree with softaculous, then put in the license.
 
Back
Top