Now that Laravel 5.5
supports only PHP > 7.0
, what can I do to ensure that I can keep it compatible with 5.6.x
? I am in a 5.6
environment, upgrading PHP
is not an option, and I want to make sure that composer update
will not break anything if its ran at any time in development environment.
Looking at articles it appears that downgrading is not easy, so I just want to make sure that somehow things don't get broken.
Here's the composer entry/dependency list, laravel
is specified as 5.4.*
{
"require": {
"php": ">=5.6.4",
"laravel/framework": "5.4.*",
"laravel/tinker": "~1.0",
"laravelcollective/html": "^5.4.0"
},
"require-dev": {
"fzaninotto/faker": "~1.4",
"mockery/mockery": "0.9.*",
"phpunit/phpunit": "~5.7"
},
}
So, does this mean I can no longer run composer update
? Or am I still safe to update my other packages, e.g. the ones specified above, and laravel
will stay 5.4.36
?
I realize the specification in composer tells the package to stay in the 5.4.x
range, I just want to make sure, and also I'm worried that the dependencies might not be safe at staying backwards compatible? I'm wondering if I should just forget about composer update
for now, or if I need to more carefully adjust the composer.json
.
Also note, my next projects that I spin up, will need to be PHP 5.6
as well, and I will be cloning from a customized laravel-base here, which will have "laravel/framework": "5.4.*",
always, so will I be good as long as this is set that way?
Update
In response to @Eric Brown's answer, and some research on packagist, this is what I have adjusted the main dependencies (+ laravelcollective/html
) to:
"require": {
"php": ">=5.6.4",
"laravel/framework": "5.4.*",
"laravel/tinker": "1.0.*",
"laravelcollective/html": "5.4.*"
},
"require-dev": {
"fzaninotto/faker": "1.7.*",
"mockery/mockery": "0.9.*",
"phpunit/phpunit": "5.7.*"
},
I might init a new git repo with a copy of the Laravel/vendor files next, and then place this into a new directory, which I don't really want to mess with sub modules, so that may end up being a tarball instead, which can get commited with the original.