Closed re-sign closed 5 years ago
Downgrade to build 443. Is working correctly on these servers.
@re-sign, could you past the log as a text, and remove personal information? Couldn't reproduce, yet, with clean install.
@re-sign did you add any plugins or themes with the installer?
@w20k Unfortunately, there is no installation log, as I had to immediately return to the previous working version of the site. @LukeTowers No, the installation was clean from scratch.
@re-sign please try it again and then zip up the results and add a link here. The issue is a dependency conflict between different versions of Laravel being used, which is usually the fault of a poorly configured plugin.
Hi, I am having the same issue while updating from 443 to 446.
08-Jan-2019 08:30:51 UTC] PHP Fatal error: Class Illuminate\Database\Eloquent\Collection contains 1 abstract method and must therefore be declared abstract or implement the remaining methods (Illuminate\Contracts\Queue\QueueableCollection::getQueueableRelations) in /Users/toto/Sites/oc-vodka/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Collection.php on line 11
[08-Jan-2019 08:30:51 UTC] PHP Fatal error: Uncaught Error: Class 'October\Rain\Database\Collection' not found in /Users/toto/Sites/oc-vodka/vendor/october/rain/src/Database/Model.php:608
Stack trace:
#0 /Users/toto/Sites/oc-vodka/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(261): October\Rain\Database\Model->newCollection(Array)
#1 /Users/toto/Sites/oc-vodka/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1477): Illuminate\Database\Eloquent\Builder->hydrate(Array)
#2 /Users/toto/Sites/oc-vodka/vendor/october/rain/src/Extension/ExtendableTrait.php(411): Illuminate\Database\Eloquent\Model->__call('hydrate', Array)
#3 /Users/toto/Sites/oc-vodka/vendor/october/rain/src/Database/Model.php(635): October\Rain\Database\Model->extendableCall('hydrate', Array)
#4 /Users/toto/Sites/oc-vodka/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(481): October\Rain\Database\Model->__call('hydrate', Array)
#5 /Users/toto/Sites/oc- in /Users/toto/Sites/oc-vodka/vendor/october/rain/src/Database/Model.php on line 608
@chrisvidal, have you tried copy-past your plugins in the subdir and re-paste them one-by-one? Or is this the issue with the clean install?
Issue is showing up after performing an upgrade on an existing project hence with existing plugins. Let me try to remove plugin by plugin to check that.
Well, it seems that the issue is coming from one on my own developed plugins. Not sure what and why. After removing it from the plugins folder, OC is still in version 443 and the 'check for updates' buttons does not work anymore. EDIT: ok now I managed to upgrade to 446. Where should I look into my plugins code to debug this error?
The plugin code providing the exception is only requiring an external vendor composer that is based on Laravel 5.5.
Is OC 446 still on Laravel 5.5 ?
OC only support LTS versions of Laravel.
The vendor lib (gloudemans/shoppingcart) was working before with OC443 and not anymore with OC446
@chrisvidal, don't forget that Laravel framework do tend to remove/add methods as a fix within the PATCH
version -> 5.6.x
Can't say for sure which version did what, but you could look at the patch notes.
thanks @w20k I am still confused, as in:
@chrisvidal,
Here you go latest 5.6.x added new method, which is not present in 5.5.x QueueableCollection.class:
ok thanks @w20k
so I don't understand why it does not work anymore and this exception is raised since nobody upgraded to Laravel 5.6.x
@chrisvidal, better to use 5.5.x Laravel with OC and you won't have such problems at all. By default set your vendor composer.json to use 5.5.x Laravel.
I don't have any composer.json for Octobercms, it is installed with the wizard. in the vendor folder from OC, there is a Laravel folder, but I can't seem to find the Laravel version
@chrisvidal, how did you install/add - LaravelShoppingCart? Your issue is not with OctoberCMS, but the plugin that uses Laravel higher than 5.5.x.
See composer for LaravelShop which uses 5.1.x - 5.6.x https://github.com/Crinsane/LaravelShoppingcart/blob/master/composer.json -> should be only 5.5.x.
If you have a root composer use it there (like plugins/author/name/composer.json
).
thanks @w20k for your help so basically I am screwed :) I can't modify their composer.json. So I had to go with a previous version 2.4 and it seems to be working. Still in test though
@chrisvidal you should be able to use the replace
property in your composer to specify illuminate/support 5.5: https://getcomposer.org/doc/04-schema.md#replace. This should lock their dependencies to 5.5 and prevent the unnecessary inclusion of the illuminate/support package within your plugin. This is the method used by the marketplace build server.
Thanks @LukeTowers that is much cleaner way to proceed indeed. thanks, let me try this EDIT: it does the trick
{
"require": {
"gloudemans/shoppingcart": "^2.5"
},
"replace": {
"illuminate/support": "5.5.x",
"illuminate/session": "5.5.x",
"illuminate/events": "5.5.x"
}
}
Downgrade to build 443. Is working correctly on these servers.
How to downgrade or fresh install of 443 version?
@pierzo change your composer to use these:
"october/rain": "v1.0.443 as 1.0",
"october/system": "v1.0.443",
"october/backend": "v1.0.443",
"october/cms": "v1.0.443",
Closing as it has been over a month since any activity on this occurred and we are trying to figure out what issues are still relevant. If this is still something that you would like to see through to fruition please respond and we can get the ball rolling.
Please check install screen, Some error after update from 443 to 446 on another website. PHP 7.2.13+MariaDB-10.2.16+ubuntu16.04