getkirby / kirby

Kirby's core application folder
https://getkirby.com
Other
1.31k stars 168 forks source link

Can't load any external page or save changes in panel, only on server, after updating Kirby from 3.0.0 to 3.4.2, even after reverting to 3.0.0 #2813

Closed Splendorr closed 4 years ago

Splendorr commented 4 years ago

Describe the bug
This is the error: include(/sitedirectory/kirby/vendor/composer/../../src/Cache/Cache.php): failed to open stream: No such file or directory

Site works in local dev environment. Worked on server earlier today. I tested updating the kirby folder (I know this was a big version jump!) on my local instance, and it works just fine. I uploaded it to the server after verifying that everything looked good, and started seeing this error immediately.

I can still open the panel on the server, but when I try to save any change, it throws this error, too. But it does save; changes show up after reloading the page.

Is this something wrong at the server level? I don't have direct server access to reboot the PHP and Apache processes, but I've asked the client to try that asap!

To Reproduce
Steps to reproduce the behavior:

  1. Start with functioning install of 3.0.0 on a server running PHP 7.2.30
  2. Upload the kirby folder for 3.4.2
  3. try to load the site
  4. ???

Expected behavior
Load the site!

Screenshots

Screen Shot 2020-09-09 at 12 38 00 AM Screen Shot 2020-09-09 at 12 38 09 AM Screen Shot 2020-09-09 at 12 41 54 AM

Kirby Version
3.4.2

Console output
On the home page, the console gives: GET http://www.kitfoxgames.com/en [HTTP/1.1 500 Internal Server Error 873ms]

Desktop (please complete the following information):

Smartphone (please complete the following information):
Haven't tested

Additional context
You can see this live at http://www.kitfoxgames.com/en

Thanks for any help you can provide!

afbora commented 4 years ago

Can you make sure the kirby directory is correctly and completely uploaded? Please delete kirby folder and upload fresh kirby of 3.4.2. Still same?

bastianallgeier commented 4 years ago

@afbora @Splendorr I would have suggested the same. It sounds a lot like there are some incomplete files after the upload.

Splendorr commented 4 years ago

Yep! I tried that 4 times with the 3.4.2 folder, twice from the working installation on my machine, and then once each from the starterkit and plainkit. Then I rolled back by got repo to the commit before I made any of today’s changes, deleted on the server and uploaded the again-working 3.0.0 kirby folder in its entirety. Same error on the server.

I also tried various combinations of deleting and re-uploading the site folder (except for accounts, because the server copy has different accounts),

Also, I forgot to mention, I have cache > pages > active = false, (in the correct formatting that’s not in front of me right now), so the site hasn’t been cached in the first place. I tried setting to true since the error included NullCache, but that didn’t make any difference, so then I returned that setting to false.

On Sep 9, 2020, at 1:32 AM, Ahmet Bora notifications@github.com wrote:

 Can you make sure the kirby directory is correctly and completely uploaded? Please delete kirby folder and upload fresh kirby of 3.4.2. Still same?

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub, or unsubscribe.

Splendorr commented 4 years ago

It’s possible the folder isn’t uploading completely, I guess; unfortunately I don’t have ssh access to the server to download and extract the folder directly there. But in addition to the complete delete and re-upload, I also did a number of sync uploads through Transmit, which would recognize if a file was the wrong size and overwrite it. It could be that the files are repeatedly failing to upload but look like they’re the right size… but Transmit is telling me the uploads are succeeding.

Thanks for taking a look at this; I’m happy to answer more questions and to try other things!

On Sep 9, 2020, at 3:32 AM, Bastian Allgeier notifications@github.com wrote:

 @afbora @Splendorr I would have suggested the same. It sounds a lot like there are some incomplete files after the upload.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub, or unsubscribe.

Splendorr commented 4 years ago

I’m also willing to lay the blame on the server itself; part of why I started this operation today was the client reporting that sometimes they’d upload an image and assign it to a page data slot, and it looked like it didn’t work. But then, they said, a few days later it would. However, I’ve never seen this behavior from a server and don’t know where to troubleshoot that.

I guess when I wake up for real in a few hours, I could try uploading this exact set of files to another server, and see if I have the same problems? That would at least give more info, so I’ll try that at some point tomorrow.

This just went from a “sure, I can fix those small things in an hour” problem to a “stayed up late and fought with it for almost 8 hours problem,” and I’ve never run into that with Kirby! At the same time, I know it’s potentially ridiculous to have gone straight from 3.0.0 to 3.4.2. But, it works locally! So I was honestly impressed with Kirby handling that well in the first place!

I’m gonna sleep a few more hours and then check back.

On Sep 9, 2020, at 3:32 AM, Bastian Allgeier notifications@github.com wrote:

 @afbora @Splendorr I would have suggested the same. It sounds a lot like there are some incomplete files after the upload.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub, or unsubscribe.

GiantCrocodile commented 4 years ago

You can also check the php.ini/phpinfo(); to see if there is some PHP commands disabled for hardening or if there's some kind of security or web application firewall module loaded in PHP. Those can cause issues if non-properly tested or configured. Same with badly configured anti virus software like clamav or other used within cPanel.

afbora commented 4 years ago

Today i've tested (Upgraded from 3.0.0 StarterKit to 3.4.2 with enabled and disabled cache) on live server, working great. There may be a problem with your server settings.

Splendorr commented 4 years ago

This is a weird one: a dev at the client company replaced the kirby/src/Cache folder with one he had saved to a local copy, and the site started working again. As far as I can tell, the files are identical; I guess the only explanation is an error in transfer, repeatedly, in the exact same location?

I’m going to back up the functioning site again, try to update once more, and report back.

Thanks again for your time and advice; I have worked on a lot of sites and just never run into this kind of problem that I couldn’t fix even by reverting to an earlier state.

On Sep 9, 2020, at 12:44 PM, Ahmet Bora notifications@github.com wrote:

Today i've tested (Upgraded from 3.0.0 StarterKit to 3.4.2 with enabled and disabled cache) on live server, working great. There may be a problem with your server settings.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/getkirby/kirby/issues/2813#issuecomment-689683605, or unsubscribe https://github.com/notifications/unsubscribe-auth/AABEXWLOSOYJVMQ3DKONU23SE6WH3ANCNFSM4RBBRXQA.

GiantCrocodile commented 4 years ago

Could it be that there's some server-sided caching ongoing thus you don't see any changes live after you applied it and thus you see 'weird' responses from server-side as they are delayed due to caching? Maybe something corrupts Kirby 3's cache like some plug-in or hook?

lukasbestle commented 4 years ago

@Splendorr Have you been able to track this issue down further? From your descriptions it looks like the corrupt files on the server were the issue. Was there a second reason as well?

distantnative commented 4 years ago

@Splendorr I am closing this for now. If you hav more information as @lukasbestle has asked for, please add the here and I'll reopen the issue. Thanks.