Cập nhật ngày 25/12/2017

Homestead bản mới nhất đã cho phép modify PHP version trong Homestead.yaml.

sites:
    - map: homestead.test
      to: /home/vagrant/code/Laravel/public
      php: "5.6"

Phiên bản hiện tại v7.0.1 đã cập nhật lên PHP 7.2 nên đã gây một số lỗi khi chạy Laravel. Vì vậy tốt nhất hãy dùng PHP 7.0 để chạy Laravel nhé.
sites:
    - map: homestead.test
      to: /home/vagrant/code/Laravel/public
      php: "7.0"

Sau một hồi tìm hiểu rốt cục cũng biết là homestead bản nào dùng PHP5.

  1. Box version là 0.3.3
  2. Homestead release là v2.2.2

Như vậy chỉ cần checkout v2.2.2 là được. Các bước như sau:

$ git clone https://github.com/laravel/homestead.git homestead222
$ cd homestead222
$ git checkout v2.2.2

Config Homestead.yaml ở đâu

Lưu ý rằng bản này không để Homestead.yaml ở thư mục gốc mà đường dẫn là src/stubs/Homestead.yaml.  Mỗi lần config Homestead.yaml thì phải chạy lệnh sau:

$ bash init.sh // Nhớ nhập y 3 lần nếu nó hỏi override file

Khởi động box này:
$ vagrant up

Nếu bạn đã vagrant up rồi thì chạy:
$ vagrant reload --provision

Mysql password của homestead user bị expire

Đây là một lỗi của homestead phiên bản cũ, để fix cái này thì cần disable chức năng password expire của mysql đi.

SSh vào box:

$ vagrant ssh

Disable chức năng password expire trong my.cfn và khởi động lại mysql:
$ echo "default_password_lifetime = 0" >> /etc/mysql/my.cnf
$ sudo service mysql restart

Một điều nữa là bạn phải cài plugin host-updater để vagrant có thể tự động cập nhật sites map vào /etc/host nhé:
$ vagrant plugin install vagrant-hostsupdater

That’s all.
0 0 vote
Article Rating