WP Engine at the moment only supports a maximum version of PHP 7.0 on their shared hosting.
While chatting with one of their technicians, he mentioned that there will eventually be an upgrade to 7.1 later in the year.
Right now, I don’t expect a simple workaround for this other than downgrading the theme to before the 7.1 upgrade commit. But I figured i’d post about it here to see if there are any other options.
The 9.0.0 branch still only requires >=7 so you may be able to continue to use that.
You could also (in theory; I haven’t tested this) track down the dependencies that pushed us to 7.1.3 and manually lock them at version before that requirement changed. From examining this Travis CI log, it looks like the packages in question are:
doctrine/inflector v1.3.0
symfony/translation v4.0.6
illuminate/support v5.4.36 (not directly: it requires inflector, which requires 7.1.3)
I don’t believe that bumping Sage to 7.1.3 for PHP was motivated by any change in functionality, so you shouldn’t run into any issues by doing the above.
The other obvious solution is to move off WP-Engine.
Nice! I attempted some composer.json earlier edits but I’ll give these a shot now and see how it goes.
Unfortunately, the agency I work for relies heavily on WPE for our clients so that won’t be an option. haha.
Kinsta is several levels better than WP Engine and would be a great alternative. They even support Bedrock and Trellis, and deploying Sage 9 to Kinsta isn’t insane, unlike jumping through hoops with WP Engine + Sage 9.
I’m sorry that this doesn’t help, but it’s very strange that WP Engine still doesn’t have versions of PHP that were released a year and a half ago.
I’ve run into a similar problem with WP-Engine. I totally missed the move to PHP 7.1.3 and am now in a situation where a new site is ready to go, WP-Engine can’t upgrade the PHP version beyond 7.0 and I’m unable to change hosts.
Before I try and revert the dependencies outlined above I just wanted to get a bit of guidance on the best practice of doing so. My only real experience with composer is what’s outlined in the Sage documentation. Anything outside the scope of that is, well, outside of my scope…
So I guess copy and replace the relevant references in composer.lock between Sage 9.0.0 & Sage 9 Master? Would I then need to delete /vendor and re-build the project?
Any advice would be really helpful as I’m a little stuck here.