充气应修改为重启
修改理由:
相关信息:
- 类型:文档文章
- 文章: Homestead
- 文档: 《Laravel 8 中文文档(8.x)》
此投稿已在 5年前 合并。
内容修改:
| Old | New | Differences |
|---|---|---|
| 1 | ||
| 2 | 1 | # Laravel Homestead |
| 3 | 2 | |
| 4 | 3 | - [介绍](#introduction) | … | … |
| 47 | 46 | |
| 48 | 47 | > 注意:如果你使用的是 Windows,你可能需要启用硬件虚拟化(VT-x)。该功能通常需要通过您的 BIOS 启用。如果您在 UEFI 系统上使用 Hyper-V,则可能还需要禁用 Hyper-V 才能访问 VT-x。 |
| 49 | 48 | |
| 50 | ||
| 51 | ||
| 49 | ||
| 50 | ||
| 52 | 51 | <a name="included-software"></a> |
| 53 | 52 | ### 内置软件 |
| 54 | 53 | … | … |
| 136 | 135 | |
| 137 | 136 | 若要使用 VMware 提供器,你需要购买 VMware Fusion / Workstation 和 [VMware Vagrant plug-in](https://www.vagrantup.com/vmware)。 虽然它不是免费的,但是 VMware 可以提供更快的共享文件夹性能。 |
| 138 | 137 | |
| 139 | ||
| 140 | ||
| 138 | ||
| 139 | ||
| 141 | 140 | 若要使用 Parallels 提供器,你需要安装免费的 [Parallels Vagrant plug-in](https://github.com/Parallels/vagrant-parallels)。 |
| 142 | 141 | |
| 143 | 142 | 由于 [Vagrant 的限制](https://www.vagrantup.com/docs/hyperv/limitations.html),Hyper-V 提供器会忽略所有的网络设置。 | … | … |
| 164 | 163 | |
| 165 | 164 | git checkout release |
| 166 | 165 | |
| 167 | ||
| 168 | ||
| 166 | ||
| 167 | ||
| 169 | 168 | 一旦你克隆了 Homestead 仓库,您可以运行 `bash init.sh` 命令以创建 `Homestead.yaml` 配置文件。`Homestead.yaml` 将会置于 Homestead 目录中: |
| 170 | 169 | |
| 171 | 170 | // Mac / Linux... | … | … |
| 204 | 203 | |
| 205 | 204 | > 注意:你不应该在使用 Homestead 的时候挂载 `.` (当前目录)。此举会导致 Vagrant 不会将当前文件夹映射到 `/vagrant`,并且在配置的时候可能会导致意外情况发生。 |
| 206 | 205 | |
| 207 | ||
| 208 | ||
| 206 | ||
| 207 | ||
| 209 | 208 | 要启用 [NFS](https://www.vagrantup.com/docs/synced-folders/nfs.html) ,您只需要在共享文件夹配置中添加一个简单的标识: |
| 210 | 209 | |
| 211 | 210 | folders: | … | … |
| 237 | 236 | |
| 238 | 237 | > 注意:Homestead 脚本设计时,尽可能保持操作的幂等。当然,如果你在 provisioning 过程中遇到了问题,您可以通过 `vagrant destroy && vagrant up` 销毁和重构虚拟机。 |
| 239 | 238 | |
| 240 | ||
| 241 | ||
| 239 | ||
| 240 | ||
| 242 | 241 | #### 启用/禁用服务 |
| 243 | 242 | |
| 244 | 243 | 默认情况下,Homestead 启动了许多服务;当然,你可以在启动过程中自行指定要启用和禁用的服务。例如,你可以启用 PostgreSQL 禁用 MySQL: | … | … |
| 264 | 263 | |
| 265 | 264 | http://homestead.test |
| 266 | 265 | |
| 267 | ||
| 268 | ||
| 266 | ||
| 267 | ||
| 269 | 268 | <a name="launching-the-vagrant-box"></a> |
| 270 | 269 | ### 启动 Vagrant Box |
| 271 | 270 | … | … |
| 329 | 328 | - solr: true |
| 330 | 329 | - webdriver: true |
| 331 | 330 | |
| 332 | ||
| 333 | ||
| 331 | ||
| 332 | ||
| 334 | 333 | #### MariaDB |
| 335 | 334 | |
| 336 | 335 | 启用 MariaDB 将会移除 MySQL 并安装 MariaDB。MariaDB 是 MySQL 的替代品,完全兼容 MySQL,所以在应用的数据库配置中你仍然可以使用 mysql 驱动。 | … | … |
| 362 | 361 | |
| 363 | 362 | ### Accessing Homestead Globally |
| 364 | 363 | |
| 365 | ||
| 366 | ||
| 364 | ||
| 365 | ||
| 367 | 366 | 有时你可能想在文件系统的任意路径都能运行 `vagrant up` 命令启动 Homestead 虚拟机。在 Mac / Linux 系统上可以在 Bash 配置文件( ~/.bash_profile )中添加 Bash 函数 。在 Windows 上, 你可以添加「批处理」文件到 `PATH` 。这些脚本允许你在系统的任何位置运行 Vagrant 命令并自动将该命令指向 Homestead 的安装路径: |
| 368 | 367 | |
| 369 | 368 | #### Mac / Linux | … | … |
| 397 | 396 | |
| 398 | 397 | 但是,你可能需要频繁连接 Homestead 虚拟机,因此请考虑将上面的「函数」添加到主机以便快速地以 SSH 方式连接到 Homestead 虚拟机。 |
| 399 | 398 | |
| 400 | ||
| 401 | ||
| 399 | ||
| 400 | ||
| 402 | 401 | ### 连接数据库 |
| 403 | 402 | |
| 404 | 403 | `homestead` 默认已经在虚拟机中为 MySQL 和 PostgreSQL 数据库做好了配置。要从主机的数据库客户端连接到 MySQL 或 PostgreSQL ,应该连接到 `127.0.0.1` ,端口 `33060` (MySQL) 或 `54320` (PostgreSQL)。用户名和密码分别是 `homestead` / `secret` 。 | … | … |
| 419 | 418 | |
| 420 | 419 | Homestead 支持保存 MySQL 和 MariaDB 数据库的状态并通过 [Logical MySQL Manager](https://github.com/Lullabot/lmm) 在不同状态间进行切换。例如,假设你的站点数据库有几个 G 的数据量,你可以导入这个数据库并保存一份快照,在本地工作一段时间后有可能会创建一些新的测试内容,你可以通过快照快速恢复到最初的状态。 |
| 421 | 420 | |
| 422 | ||
| 423 | ||
| 421 | ||
| 422 | ||
| 424 | 423 | 在底层,LMM 使用了 LVM 的支持写时复制的瘦快照功能,这意味着当修改表中某条记录时,只会将你所做的更改写入磁盘,从而在恢复期节省大量时间和磁盘空间。 |
| 425 | 424 | |
| 426 | 425 | 由于 `lmm` 会与 LVM 进行交互,所以必须以 `root` 身份运行。要了解所有命令,可以在 Homestead 虚拟机中通过 `sudo lmm` 查看。常见的工作流会是这样: | … | … |
| 457 | 456 | to: /home/vagrant/my-symfony-project/web |
| 458 | 457 | type: "symfony2" |
| 459 | 458 | |
| 460 | ||
| 461 | ||
| 459 | ||
| 460 | ||
| 462 | 461 | 可用的站点类型是:`apache`,`apigility`,`expressive`,`laravel`(默认),`proxy`,`silverstripe`,`statamic`,`symfony2`,`symfony4`,和 `zf`。 |
| 463 | 462 | |
| 464 | 463 | #### 站点参数 | … | … |
| 501 | 500 | |
| 502 | 501 | ### 配置 Cron 定时计划 |
| 503 | 502 | |
| 504 | ||
| 505 | ||
| 503 | ||
| 504 | ||
| 506 | 505 | Laravel 提供了一种很方便的设置 [定时计划作业](/docs/laravel/8.x/scheduling) 的方式,只需每分钟运行一次 `schedule:run` Artisan 命令。`scheduler:run` 命令将根据您在 `App\Console\Kernel` 类中定义的计划来决定运行哪个作业。 |
| 507 | 506 | |
| 508 | 507 | 如果您想要在 Homestead 站点中运行 `schedule:run` 命令,可在定义站点是将 `schedule` 选项置为 `true` : | … | … |
| 537 | 536 | |
| 538 | 537 | 默认情况下,Minio 使用 `9600` 端口。您可以通过 `http://localhost:9600/` 访问 Minio 控制面板。默认的 access key 是 `homestead`,secret key 是 `secretkey`。当访问 Minio 时,您应该使用 `us-east-1` 区域。 |
| 539 | 538 | |
| 540 | ||
| 541 | ||
| 539 | ||
| 540 | ||
| 542 | 541 | 要使用 Minio ,您需要调整 `config/filesystems.php` 配置文件中的 S3 存储配置。您只需要在 存储配置中添加 `use_path_style_endpoint` 选项,并将 `url` 修改为 `endpoint` 。 |
| 543 | 542 | |
| 544 | 543 | 's3' => [ | … | … |
| 601 | 600 | |
| 602 | 601 | 有时,您可能希望跟您的同事共享您的工作内容。Vagrant 内置了一个通过 `vagrant share` 的方法实现之;但是,若您在 `Homestead.yaml` 文件中配置了多站点则无法正常工作。 |
| 603 | 602 | |
| 604 | ||
| 605 | ||
| 603 | ||
| 604 | ||
| 606 | 605 | 要解决这个问题,Homestead 包含了自己的 `share` 命令。通过 `vagrant ssh` 进入到您的 Homestead 机器,然后运行 `share homestead.test` 以实现之。这将从您的 `Homestead.yaml` 配置文件共享 `homestead.test` 站点。 您可以用其他已经配置过的站点代替 `homestead.test` : |
| 607 | 606 | |
| 608 | 607 | share homestead.test | … | … |
| 648 | 647 | |
| 649 | 648 | flip |
| 650 | 649 | |
| 651 | ||
| 652 | ||
| 650 | ||
| 651 | ||
| 653 | 652 | <a name="mail"></a> |
| 654 | 653 | ### 邮件 |
| 655 | 654 | … | … |
| 665 | 664 | |
| 666 | 665 | 默认情况下,Xdebug 已经运行并且准备好了接受请求。若您想要在 CLI 中启用 Xdebug ,请在您的 Vagrant box 中运行 `sudo phpenmod xdebug` 命令。接下来,按照 IDE 的指示以启动调试。最后,可通过浏览器扩展或 [bookmarklet](https://www.jetbrains.com/phpstorm/marklets/) 配置浏览器🛫 Xdebug 。 |
| 667 | 666 | |
| 668 | > 注意:Xdebug 将会导致 PHP 运行缓慢。要禁用 Xdebug ,请在您的 Vagrant box 中运行 `sudo phpdismod xdebug` 命令并 | |
| 667 | > 注意:Xdebug 将会导致 PHP 运行缓慢。要禁用 Xdebug ,请在您的 Vagrant box 中运行 `sudo phpdismod xdebug` 命令并重启 FPM 服务。 | |
| 669 | 668 | |
| 670 | 669 | <a name="debugging-cli-applications"></a> |
| 671 | 670 | ### 调试 CLI 应用 | … | … |
| 682 | 681 | xdebug.remote_host = 192.168.10.1 |
| 683 | 682 | xdebug.remote_autostart = 1 |
| 684 | 683 | |
| 685 | ||
| 686 | ||
| 684 | ||
| 685 | ||
| 687 | 686 | <a name="profiling-applications-with-blackfire"></a> |
| 688 | 687 | ### 使用 Backfire 进行应用分析 |
| 689 | 688 | … | … |
| 717 | 716 | |
| 718 | 717 | 要分析一个 Web 请求,可以在请求中添加一个 `xhgui=on` 的参数以实现之。 XHGui 会自动添加 cookie 到响应中,之后的请求便不再需要添加请求参数。您可以在 `http://your-site.test/xhgui` 中查看您的应用的分析结果。 |
| 719 | 718 | |
| 720 | ||
| 721 | ||
| 719 | ||
| 720 | ||
| 722 | 721 | 要使用 XHGui 分析一个 CLI 请求,请在命令前加上 `XHGUI=on`: |
| 723 | 722 | |
| 724 | 723 | XHGUI=on path/to/script | … | … |
| 763 | 762 | -o Dpkg::Options::="--force-confold" \ |
| 764 | 763 | install your-package |
| 765 | 764 | |
| 766 | ||
| 767 | ||
| 765 | ||
| 766 | ||
| 768 | 767 | ### 用户自定义 |
| 769 | 768 | |
| 770 | 769 | 在团队环境中使用 Homestead 时,你可能想要调整 Homestead 以便更好地适应你自己喜好的个人开发风格,这可以通过在 `Homestead` 根目录下创建 `user-customizations.sh` 文件来完成,在这个文件中,你可以做一些自己喜欢的定制化工作;不过,注意不要把 `user-customizations.sh` 文件提交到代码仓库中。 | … | … |
| 799 | 798 | // Windows... |
| 800 | 799 | init.bat |
| 801 | 800 | |
| 802 | ||
| 803 | ||
| 801 | ||
| 802 | ||
| 804 | 803 | 最后,你需要重新生成 Homestead 盒子来使用最新配置的 Vagrant: |
| 805 | 804 | |
| 806 | 805 | vagrant up | … | … |
| 825 | 824 | config.vm.provider "virtualbox" do |v| |
| 826 | 825 | v.customize ["setextradata", :id, "VBoxInternal2/SharedFoldersEnableSymlinksCreate/v-root", "1"] |
| 827 | 826 | end |
| 827 | ||
| 828 | 828 | |
| 829 |
关于 LearnKu