Whilst trying to use the php-7 version of Laravel Homestead in a per-project installation, I see this error during vagrant up:
php5-fpm: unrecognized service
I've tried vagrant destroy and reinstalling the Vagrant box, but it still comes back to this error.
I didn't get the error when using Homestead globally.
How might this be fixed?
The issue was that whilst box: laravel/homestead-7 was set correctly in Homestead.yaml, the composer dependency for laravel/homestead was still using the php-5 version. This meant that the provisioning scripts for Vagrant in vendor/laravel/homestead were those for php-5 and not php-7.
That can be fixed by using a specific branch of laravel/homestead for the composer dependency.
In composer.json, add a custom repository for laravel/homestead:
"repositories": [
{
"type": "git",
"url": "https://github.com/laravel/homestead"
}
]
And require the php-7 branch specifically for laravel/homestead:
"require-dev": {
"laravel/homestead": "dev-php-7"
}
Then composer update and re-provisioning the Vagrant box will fix the issue.
UPDATE
laravel/homestead now has PHP 7.0 by default, and the old php-7 branch no longer exists. To resolve this issue, you simply need to update to the latest version of laravel/homestead via composer.json.
For a quick fix, I found this answer from laracasts very helpful:
cd ~/Homestead && git pull && vagrant destroy && vagrant box update && vagrant up
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With