Homestead: PHP 5.6 error on vagrant provision

Created on 1 Aug 2017  路  16Comments  路  Source: laravel/homestead

Versions

  • Vagrant: Vagrant 1.9.7
  • Provider: Virtualbox Version 5.1.26 r117224 (Qt5.6.2)
  • Homestead: 6.0.0

Host operating system

Mac OSX 10.12.6

Homestead.yaml

ip: "192.168.10.10"
memory: 2048
cpus: 2
provider: virtualbox
mariadb: true

authorize: ~/.ssh/id_rsa.pub

keys:
    - ~/.ssh/id_rsa

folders:
    - map: /Users/mortscode/Development
      to: /home/vagrant/Development
      type: nfs

sites:
    - map: tmp3.craft.dev
      to: /home/vagrant/Development/Mort/tmp3/public
      php: "7.0"

    - map: test.craft.dev
      to: /home/vagrant/Development/Mort/craft-test/public
      php: "5.6"

databases:
    - tmp3
    - test

variables:
    - key: APP_ENV
      value: local

Vagrant up output

https://gist.github.com/mortscode/79cecb8fb03f53c05f3fd2096141d58b

This issue happens when I provision Vagrant. Here's the output for vagrant provision
https://gist.github.com/mortscode/4e69b63df3b492784aab2be5b757cdff

Expected behavior

One site running on PHP 7.0 and the other running on PHP 5.6

Actual behavior

PHP 5.6 threw an error on provision and doesn't seem to work

Steps to reproduce

  1. homestead.yaml file with 2 sites (one php: "7.0." and one php: "5.6"
  2. run vagrant provision or vagrant reload --provision
  3. notice error:
homestead-7: Job for php5.6-fpm.service failed because the control process exited with error code. 
See "systemctl status php5.6-fpm.service" and "journalctl -xe" for details.

Most helpful comment

Make sure you've completely destroyed/removed the previous box. When you upgrade you have to do a clean destroy or you won't get an upgraded version of the base box.

Run this and see if you get the error, if you do give me the entire output in a gist please:

vagrant destroy && rm -rf .vagrant && vagrant up

All 16 comments

Make sure you've completely destroyed/removed the previous box. When you upgrade you have to do a clean destroy or you won't get an upgraded version of the base box.

Run this and see if you get the error, if you do give me the entire output in a gist please:

vagrant destroy && rm -rf .vagrant && vagrant up

Same thing here with a clean install and just one site with or without setting the php version, even to 7.0 or 7.1. When booting, the vm still tries to start php5-fpm instead of php7-fpm.

In other words,

vagrant destroy && rm -rf .vagrant && vagrant up

didn't help. After vagrant destroy and rm -rf .vagrant, running vagrant upgave me a red error(?) message

==> homestead-7: You are already using composer version 1.4.2 (stable channel).

Didn't work for me either.
Ran vagrant destroy && rm -rf .vagrant && vagrant up in my /Homestead directory. Still getting this:

Job for php5.6-fpm.service failed because the control process exited with error code. 
See "systemctl status php5.6-fpm.service" and "journalctl -xe" for details.

@mossadal I don't think that composer error is actually an error. It's saying that your version is up-to-date and stable. It confused me too.

I tried checking out the last commit before "Add support for multiple versions of PHP (#621)", i.e.

git checkout c79f5319eb80ddb9586480b54491d0a59540f18a

and with that version everything looks ok.

@mortscode Show me a gist of all the of output from that command so I can see whats happening (And show me the journalctl -xe output)

I'm unable to recreate this on my end.

from the destroy command? Also, do I run that journalctl -xe command inside of the vagrant ssh?

Run this command:

vagrant destroy && rm -rf .vagrant && vagrant up

and show me a gist of ALL of the output

Yes, journalctl -xe from inside vagrant (will be A LOT of info, you're looking for the php56 service

Here's the vagrant destroy && rm -rf .vagrant && vagrant up command output:
https://gist.github.com/mortscode/c4bb79e659ccc1818368e2a4c5c4db77

Here's the journalctl -xe output:
https://gist.github.com/mortscode/b8d38928017a026261a4cc2ce97012b1

@mortscode

Can you vagrant ssh and then run cp /etc/php/5.6/fpm/php-fpm.conf /vagrant/php-fpm-56.conf then paste a gist of php-fpm-56.conf (it will be in the root of your Homestead folder)

Ah ha! I found it.

TL;DR Remove the section

variables:
    - key: APP_ENV
      value: local

Then destroy and vagrant up again.

@mossadal Check and see if you also have this section.

I'll investigate a fix asap.

I have no valid explanation why this works on 7.0 and 7.1, but errors on 5.6

For now my advice would be to move these variables into your sites' params: https://laravel.com/docs/5.4/homestead#site-parameters

works like a dream @svpernova09. Thanks homie.

Glad we got it sorted out. thanks for sticking with me there!

Looks good here as well!

@svpernova09 - thank you! I was migrating an older Homestead to 6.2.2 on my new machine and I couldn't get it working. I would never have guessed those lines would cause problems.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

leandroruel picture leandroruel  路  4Comments

daryn-k picture daryn-k  路  5Comments

it-can picture it-can  路  3Comments

yazeed picture yazeed  路  3Comments

bironeaj picture bironeaj  路  3Comments