Homestead 7 Yaml PHP 5.6仍在运行7.3

问题描述 投票:4回答:1

我无法让我的更新后的Homestead与我的其中一个项目一起使用php 5.6。我销毁了旧机器,并删除了~/Homestead文件夹,将其重新克隆并在v7.3.0上签出。我也在使用最新版本的laravel / homestead盒子。但是,当运行我的php 5.6项目代码时,我仍然收到与php版本不匹配相关的错误。倾倒phpinfo给我PHP Version 7.2.3-1+ubuntu16.04.1+deb.sury.org+1

这时我真的很困,为什么我的php 5.6项目仍然使用php 7.2?

在下面您可以找到我的Homestead.yaml文件以及启动homestead-7机器后的终端输出。

---
ip: "192.168.10.10"
memory: 3072
cpus: 1
provider: virtualbox

authorize: ~/.ssh/id_rsa.pub

keys:
    - ~/.ssh/id_rsa

folders:
    - map: ~/coding/php56project
      to: /home/vagrant/php56project
      php: "5.6"
    - map: ~/coding/php72project
      to: /home/vagrant/php72project

sites:
    - map: php56project.test
      to: /home/vagrant/php56project/public
    - map: php72project.test
      to: /home/vagrant/php72project/public

databases:
    - homestead
    - php56project
    - php72project

myself@mypc:~/Homestead$ homestead up
Bringing machine 'homestead-7' up with 'virtualbox' provider...
==> homestead-7: Importing base box 'laravel/homestead'...
==> homestead-7: Matching MAC address for NAT networking...
==> homestead-7: Checking if box 'laravel/homestead' is up to date...
==> homestead-7: Setting the name of the VM: homestead-7
==> homestead-7: Clearing any previously set network interfaces...
==> homestead-7: Preparing network interfaces based on configuration...
    homestead-7: Adapter 1: nat
    homestead-7: Adapter 2: hostonly
==> homestead-7: Forwarding ports...
    homestead-7: 80 (guest) => 8000 (host) (adapter 1)
    homestead-7: 443 (guest) => 44300 (host) (adapter 1)
    homestead-7: 3306 (guest) => 33060 (host) (adapter 1)
    homestead-7: 4040 (guest) => 4040 (host) (adapter 1)
    homestead-7: 5432 (guest) => 54320 (host) (adapter 1)
    homestead-7: 8025 (guest) => 8025 (host) (adapter 1)
    homestead-7: 27017 (guest) => 27017 (host) (adapter 1)
    homestead-7: 22 (guest) => 2222 (host) (adapter 1)
==> homestead-7: Running 'pre-boot' VM customizations...
==> homestead-7: Booting VM...
==> homestead-7: Waiting for machine to boot. This may take a few minutes...
    homestead-7: SSH address: 127.0.0.1:2222
    homestead-7: SSH username: vagrant
    homestead-7: SSH auth method: private key
    homestead-7: Warning: Connection reset. Retrying...
    homestead-7: 
    homestead-7: Vagrant insecure key detected. Vagrant will automatically replace
    homestead-7: this with a newly generated keypair for better security.
    homestead-7: 
    homestead-7: Inserting generated public key within guest...
    homestead-7: Removing insecure key from the guest if it's present...
    homestead-7: Key inserted! Disconnecting and reconnecting using new SSH key...
==> homestead-7: Machine booted and ready!
==> homestead-7: Checking for guest additions in VM...
    homestead-7: The guest additions on this VM do not match the installed version of
    homestead-7: VirtualBox! In most cases this is fine, but in rare cases it can
    homestead-7: prevent things such as shared folders from working properly. If you see
    homestead-7: shared folder errors, please make sure the guest additions within the
    homestead-7: virtual machine match the version of VirtualBox you have installed on
    homestead-7: your host and reload your VM.
    homestead-7: 
    homestead-7: Guest Additions Version: 5.0.18_Ubuntu r106667
    homestead-7: VirtualBox Version: 5.2
==> homestead-7: Setting hostname...
==> homestead-7: Configuring and enabling network interfaces...
==> homestead-7: Mounting shared folders...
    homestead-7: /vagrant => /home/myself/Homestead
    homestead-7: /home/vagrant/php72project => /home/myself/coding/php72project
    homestead-7: /home/vagrant/php56project => /home/myself/coding/php56project
==> homestead-7: Running provisioner: file...
==> homestead-7: Running provisioner: shell...
    homestead-7: Running: inline script
==> homestead-7: Running provisioner: shell...
    homestead-7: Running: inline script
    homestead-7: 
    homestead-7: ssh-rsa AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAmyemail@provider.com
==> homestead-7: Running provisioner: shell...
    homestead-7: Running: inline script
==> homestead-7: Running provisioner: shell...
    homestead-7: Running: /tmp/vagrant-shell20180406-3138-1u0i9xy.sh
==> homestead-7: Running provisioner: shell...
    homestead-7: Running: inline script
==> homestead-7: Running provisioner: shell...
    homestead-7: Running: inline script
==> homestead-7: Running provisioner: shell...
    homestead-7: Running: script: Creating Certificate: php56project.test
==> homestead-7: Running provisioner: shell...
    homestead-7: Running: script: Creating Site: php56project.test
==> homestead-7: Running provisioner: shell...
    homestead-7: Running: inline script
==> homestead-7: Running provisioner: shell...
    homestead-7: Running: script: Checking for old Schedule
==> homestead-7: Running provisioner: shell...
    homestead-7: Running: script: Creating Certificate: php72project.test
==> homestead-7: Running provisioner: shell...
    homestead-7: Running: script: Creating Site: php72project.test
==> homestead-7: Running provisioner: shell...
    homestead-7: Running: inline script
==> homestead-7: Running provisioner: shell...
    homestead-7: Running: script: Checking for old Schedule
==> homestead-7: Running provisioner: shell...
    homestead-7: Running: script: Clear Variables
==> homestead-7: Running provisioner: shell...
    homestead-7: Running: script: Restarting Cron
==> homestead-7: Running provisioner: shell...
    homestead-7: Running: script: Restarting Nginx
==> homestead-7: Running provisioner: shell...
    homestead-7: Running: script: Creating MySQL Database: homestead
==> homestead-7: Running provisioner: shell...
    homestead-7: Running: script: Creating Postgres Database: homestead
==> homestead-7: Running provisioner: shell...
    homestead-7: Running: script: Creating MySQL Database: php56project
==> homestead-7: Running provisioner: shell...
    homestead-7: Running: script: Creating Postgres Database: php56project
==> homestead-7: Running provisioner: shell...
    homestead-7: Running: script: Creating MySQL Database: php72project
==> homestead-7: Running provisioner: shell...
    homestead-7: Running: script: Creating Postgres Database: php72project
==> homestead-7: Running provisioner: shell...
    homestead-7: Running: script: Update Composer
    homestead-7: You are running composer as "root", while "/home/vagrant/.composer" is owned by "vagrant"
    homestead-7: You are already using composer version 1.6.3 (stable channel).
==> homestead-7: Running provisioner: shell...
    homestead-7: Running: /tmp/vagrant-shell20180406-3138-t73ng.sh
==> homestead-7: Running provisioner: shell...
    homestead-7: Running: /tmp/vagrant-shell20180406-3138-1q4bwqp.sh
php laravel homestead
1个回答
0
投票

[在Vagrant VM中全局运行的PHP版本与为每个站点运行的PHP版本有所不同,这是在nginx级别上控制的。

在VM的创建过程中,Homestead使用脚本serve-laravel.sh为每个Laravel站点配置自定义nginx设置:>

location ~ \.php$ {
    ...
    # After compilation e.g.: fastcgi_pass unix:/var/run/php/php7.1-fpm.sock;
    fastcgi_pass unix:/var/run/php/php$5-fpm.sock; // e.g. $5 = '5.6'
    ...
}

在上面的示例中,$5是存储您的站点将使用的php版本的变量。例如'7.1'或'5.6'。

在您的原始示例中,如果要在/etc/nginx/sites-enabled/php56project.test处查看Nginx设置,则可以确认正在使用php5.6-fpm.sock

© www.soinside.com 2019 - 2024. All rights reserved.