【问题标题】:Individual php versions for each site in homestead not working宅基地中每个站点的单独 php 版本不起作用
【发布时间】:2020-06-02 10:44:48
【问题描述】:

在生产中,我有两台服务器运行 php7.1 和 php7.3。 除了 php 版本,环境是一样的。

我正在尝试在宅基地中为每个站点使用不同的 php 版本重新创建它,但所有站点最终都使用 php 7.4,因为它是宅基地框的当前版本。

换句话说,网站版本控制无效:

Homestead.yaml

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

authorize: .ssh/homestead_rsa.pub

keys:
    - .ssh/homestead_rsa

folders:
    - map: C:/www/api
      to: /home/vagrant/api
      php: "7.3"
    - map: C:/www/bikes
      to: /home/vagrant/bikes
      php: "7.1"
    - map: C:/www/manager
      to: /home/vagrant/manager
      php: "7.3"

sites:
    - map: api.test
      to: /home/vagrant/api/public
    - map: bikes.test
      to: /home/vagrant/bikes/public
    - map: manager.test
      to: /home/vagrant/manager/public

databases:
    - api
    - bikes
    - manager

有人知道我做错了什么吗? 有没有更好的方法来做到这一点?喜欢拥有多个盒子吗?

我正在使用 Vagrant 2.2.6 和 Homestead 9.2.0

【问题讨论】:

  • 添加php: "7.3" 等应该可以,你如何检查php版本?
  • 在每个站点上使用 phpinfo()。以及在 php>7.1 上运行时遇到弃用异常的自行车站点
  • 您在添加php版本后是否配置了机器?例如vagrant reload --provisionvagrant halt, vagrant up --provision
  • 是的,试了好几次
  • 你有什么理由运行这么旧的宅基地版本?

标签: php laravel vagrant version homestead


【解决方案1】:

您需要将“php:”标签移动到网站部分。而且,您必须为每个站点指定“type:”标签。

修复代码并运行 vagrant reload --provision。

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

authorize: .ssh/homestead_rsa.pub

keys:
    - .ssh/homestead_rsa

folders:
    - map: C:/www/api
      to: /home/vagrant/api
      
    - map: C:/www/bikes
      to: /home/vagrant/bikes
      
    - map: C:/www/manager
      to: /home/vagrant/manager

sites:
    - map: api.test
      to: /home/vagrant/api/public
      type: "apache"
      php: "7.3"

    - map: bikes.test
      to: /home/vagrant/bikes/public
      type: "apache"
      php: "7.1"

    - map: manager.test
      to: /home/vagrant/manager/public
      type: "apache"
      php: "7.3"

databases:
    - api
    - bikes
    - manager

【讨论】:

    【解决方案2】:

    我也有这个问题。 Phpmyadmin 需要 php 8.0,而我有 php 8.1。 运行sudo service --status-all | gpep php后,似乎只启动了一个php-fpm服务。

    [ - ]  php5.6-fpm
    [ - ]  php7.0-fpm
    [ - ]  php7.1-fpm
    [ - ]  php7.2-fpm
    [ - ]  php7.3-fpm
    [ - ]  php7.4-fpm
    [ - ]  php8.0-fpm
    [ + ]  php8.1-fpm
    

    sudo service php8.0-fpm start phpmyadmin 工作正常之后。但是,重新启动后服务没有启动。所以我设置了 Homestead.yaml 来启动所需的服务。

    sites:
    - map: homestead.test
      to: /home/vagrant/projects/myproject/public
    - map: phpmyadmin.test
      to: /home/vagrant/projects/phpmyadmin/
      php: "8.0"
    
    databases:
    - homestead
    
    services:
    - enabled:
          - "php8.0-fpm"
    

    vagrant reload --provision 之后,php8.1-fpm 和 php8.0-fpm 都启动了。

    [ - ]  php5.6-fpm
    [ - ]  php7.0-fpm
    [ - ]  php7.1-fpm
    [ - ]  php7.2-fpm
    [ - ]  php7.3-fpm
    [ - ]  php7.4-fpm
    [ + ]  php8.0-fpm
    [ + ]  php8.1-fpm
    

    【讨论】:

      猜你喜欢
      • 2020-07-06
      • 2022-01-16
      • 1970-01-01
      • 2015-08-02
      • 1970-01-01
      • 2015-03-18
      • 2015-10-08
      • 2017-12-31
      • 1970-01-01
      相关资源
      最近更新 更多