Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

embed/embed requires v4 requires php 7.4 but i'm using php 8.1 #113

Open
sirjeff opened this issue Jul 7, 2022 · 14 comments
Open

embed/embed requires v4 requires php 7.4 but i'm using php 8.1 #113

sirjeff opened this issue Jul 7, 2022 · 14 comments

Comments

@sirjeff
Copy link

sirjeff commented Jul 7, 2022

Upgrading SilverStripe to 4.11 so I can use PHP 8.1

I already have "dynamic/silverstripe-elemental-blocks": "3.0.1"
but SS won't update because silverstripe-elemental-blocks requires a version of embed/embed that I cannot install on PHP 8.1

embed/embed[v4.0.0, ..., v4.2.7] require php ^7.4 -> your php version (8.1.3) does not satisfy that requirement

@sirjeff
Copy link
Author

sirjeff commented Jul 7, 2022

I guess I should notify someone? @jsirish ^^^

@sirjeff
Copy link
Author

sirjeff commented Jul 7, 2022

Oh better still - the person that did the last update which was a req :)
@muskie9 ^^^^

@G-Rath
Copy link

G-Rath commented Jul 20, 2022

It looks like @jsirish has been doing some awesome work updating the block packages to support PHP 8 - it looks like we're almost there, just needs dynamic/silverstripe-elemental-customer-service updated due to zendframework/zend-diactoros:

> docker-compose build
...
------
 > [26/30] RUN MEMORY_LIMIT=-1 composer install --no-scripts:
#0 1.269 Installing dependencies from lock file (including require-dev)
#0 1.277 Verifying lock file contents can be installed on current platform.
#0 1.313 Your lock file does not contain a compatible set of packages. Please run composer update.
#0 1.313
#0 1.313   Problem 1
#0 1.313     - zendframework/zend-diactoros is locked to version 1.8.7 and an update of this package was not requested.
#0 1.313     - zendframework/zend-diactoros 1.8.7 requires php ^5.6 || ^7.0 -> your php version (8.0.21) does not satisfy that requirement.
#0 1.313   Problem 2
#0 1.313     - zendframework/zend-diactoros 1.8.7 requires php ^5.6 || ^7.0 -> your php version (8.0.21) does not satisfy that requirement.
#0 1.313     - egeloen/http-adapter 0.8.0 requires zendframework/zend-diactoros ^1.1 -> satisfiable by zendframework/zend-diactoros[1.8.7].
#0 1.313     - egeloen/http-adapter is locked to version 0.8.0 and an update of this package was not requested.
#0 1.313
------
www-data@ba8cc89587d5:~$ composer why --tree zendframework/zend-diactoros
zendframework/zend-diactoros 1.8.7 PSR HTTP Message implementations
└──egeloen/http-adapter 0.8.0 (requires zendframework/zend-diactoros ^1.1)
   └──willdurand/geocoder v3.3.0 (requires egeloen/http-adapter ~0.8)
      └──dynamic/silverstripe-geocoder 1.2.0 (requires willdurand/geocoder v3.3.0)
         └──dynamic/silverstripe-elemental-customer-service 2.0.4 (requires dynamic/silverstripe-geocoder ^1.0)
            └──dynamic/silverstripe-elemental-blocks 3.0.1 (requires dynamic/silverstripe-elemental-customer-service ^2.0)
               └──my-org/my-app (requires dynamic/silverstripe-elemental-blocks ^3.0)

@jsirish
Copy link
Member

jsirish commented Jul 20, 2022

Hey @G-Rath

Working through the blocks and PHP 8, have been focusing on the ones we use at Dynamic and the ones downloaded most often. I can look at Customer Service next.

We're pretty swamped and have some devs out on vacation so it's been slow going. Appreciate your interest in the blocks!

@G-Rath
Copy link

G-Rath commented Jul 24, 2022

@jsirish I saw you updated dynamic/silverstripe-elemental-customer-service to support PHP 8 which is awesome but just in case you don't already know it's still not able to be used with PHP 8 because of dynamic/silverstripe-geocoder which eventually results in zendframework/zend-diactoros which doesn't support PHP 8:

www-data@ba8cc89587d5:~$ composer why --tree zendframework/zend-diactoros
zendframework/zend-diactoros 1.8.7 PSR HTTP Message implementations
└──egeloen/http-adapter 0.8.0 (requires zendframework/zend-diactoros ^1.1)
   └──willdurand/geocoder v3.3.0 (requires egeloen/http-adapter ~0.8)
      └──dynamic/silverstripe-geocoder 1.2.0 (requires willdurand/geocoder v3.3.0)
         └──dynamic/silverstripe-elemental-customer-service 2.0.4 (requires dynamic/silverstripe-geocoder ^1.0)
            └──dynamic/silverstripe-elemental-blocks 3.0.1 (requires dynamic/silverstripe-elemental-customer-service ^2.0)
               └──my-org/my-app (requires dynamic/silverstripe-elemental-blocks ^3.0)

Your CI is passing because composer is able to use v1.3.3 of that package which has an open PHP constraint, but that version is pretty out of date and has known security vulnerabilities so it's not an option for us to try and downgrade to that.

@sirjeff
Copy link
Author

sirjeff commented Jul 26, 2022

I know jack about zendframework/zend-diactoros , but I do know that it has been replaced by laminas/laminas-diactoros
I haven't tried laminas/laminas-diactoros yet but I'm guessing I can't unless the requirements tell me I can :)

@jsirish
Copy link
Member

jsirish commented Jul 26, 2022

@G-Rath @sirjeff Just did a 1.3.0 release for silverstripe-geocoder. Went to the new major version of wildurand/geocoder, which I'm hoping resolves the issue above. Could you test and report back?

@G-Rath
Copy link

G-Rath commented Jul 27, 2022

@jsirish yup that looks like it's resolved it, and I also was able to build against PHP 8.1 too so no dependency blockers there either (my whole app broke, but that's cause I'm not on Silverstripe 4.11 which introduced 8.1 support 😅)

Thanks for the quick actioning!

@jsirish
Copy link
Member

jsirish commented Jul 27, 2022

@G-Rath awesome! I appreciate you guys helping me track down these issues. Feel free to ping here if anything else comes up, we've got a ton of other blocks and modules that I'll be working on as well

@sirjeff
Copy link
Author

sirjeff commented Aug 5, 2022

Tried again with SilverStripe 4.11 & PHP 8.1
Too many depreciation errors and no time to sort through them all. I'll have to put this aside until the project needs to upgrade. Next month-ish

@lilianasummers
Copy link

Hi @jsirish, thanks for the updates on the issues regarding PHP8 :)

I'm in the process of upgrading some of our Silverstripe projects to 4.11 and PHP 8.1 and we're running into the issue of conflicting version requirements for the embed/embed dependency between Silverstripe framework 4.11 and some of the Elemental Blocks inclusions like dynamic/silverstripe-elemental-oembed and its requirement of dynamic/silverstripe-linkable

Is this currently being investigated or should I open a new ticket? Thanks!

@jsirish
Copy link
Member

jsirish commented Aug 27, 2022

Hi @lilianasummers - it's a known issue. There is a branch/PR that's currently being tested that resolves the issue. You can do this in composer until it's merged:

"dynamic/silverstripe-linkable": "dev-embedUpdate as 1.0.2",

@muskie9
Copy link
Member

muskie9 commented Sep 8, 2022

Hi @lilianasummers,

A couple days ago we were able to merge that branch and have released 1.1.0 for the linkable dependency. This should allow you to remove the branch specific reference and update linkable to 1.1.0.

@lilianasummers
Copy link

Thank you @jsirish and @muskie9!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants