<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                # Laravel Homestead - [簡介](#introduction) - [安裝與設置](#installation-and-setup) - [第一步](#first-steps) - [配置 Homestead](#configuring-homestead) - [啟動 Vagrant Box](#launching-the-vagrant-box) - [根據項目安裝](#per-project-installation) - [安裝 MariaDB](#installing-mariadb) - [常見用法](#daily-usage) - [全局可用的 Homestead](#accessing-homestead-globally) - [通過 SSH 連接](#connecting-via-ssh) - [連接數據庫](#connecting-to-databases) - [增加更多網站](#adding-additional-sites) - [配置 Cron 調度器](#configuring-cron-schedules) - [端口](#ports) - [共享你的環境](#sharing-your-environment) - [多個 PHP 版本](#multiple-php-versions) - [網絡接口](#network-interfaces) - [更新 Homestead](#updating-homestead) - [歷史版本](#old-versions) - [提供器的特殊設置](#provider-specific-settings) - [VirtualBox](#provider-specific-virtualbox) <a name="introduction"></a> ## 簡介 Laravel 努力使整個 PHP 開發體驗更加愉快,包括你的本地開發環境。[Vagrant](https://www.vagrantup.com) 提供了一種簡單、優雅的方式來管理和配置虛擬機。 Laravel Homestead 是一個官方預封裝的 Vagrant Box,它為你提供了一個完美的開發環境,你無需在本地安裝 PHP 、web 服務器或任何服務軟件。 Vagrant Box 是完全一次性的,不用擔心會搞亂你的操作系統!如果有什么地方出錯了,你可以在幾分鐘內銷毀并重建該 Box ! Homestead 可以在任何 Windows、Mac 或 Linux 系統上運行,它包括了 Nginx Web 服務器、PHP 7.1、MySQL、PostgresSQL、Redis、Memcached、Node 以及開發 laravel 應用所需的東西。 > {note} 如果你使用的是 Windows,你可能需要通過 BIOS 來啟用硬件虛擬化(VT-x)。如果你在 UEFI 系統上使用 Hyper-V,可能還需要禁用 Hyper-V 才能啟用 VT-x。 <a name="included-software"></a> ### 內置軟件 - Ubuntu 16.04 - Git - PHP 7.1 - Nginx - MySQL - MariaDB - Sqlite3 - Postgres - Composer - Node (帶有 Yarn、Bower、Grunt 和 Gulp) - Redis - Memcached - Beanstalkd - Mailhog - ngrok <a name="installation-and-setup"></a> ## 安裝與設置 <a name="first-steps"></a> ### 第一步 在啟動 Homestead 環境之前,你必須先安裝 [VirtualBox 5.1](https://www.virtualbox.org/wiki/Downloads)/[VMWare](https://www.vmware.com)/[Parallels](http://www.parallels.com/products/desktop/) 以及 [Vagrant](https://www.vagrantup.com/downloads.html)。上述軟件均針對不同操作系統提供了易于使用的可視化安裝包。 若要使用 VMware 提供器,你需要同時購買 VMware Fusion/Workstation 以及 [VMware Vagrant 插件](https://www.vagrantup.com/vmware)。盡管 VMware 不是免費的,但 VMware 可以提供更快的共享文件夾性能。 若要使用 Parallels 提供器,你需要安裝 [Parallels Vagrant 插件](https://github.com/Parallels/vagrant-parallels)。這是免費的。 #### 安裝 Homestead Vagrant Box 當安裝完 VirtualBox/VMware 以及 Vagrant 后,你可以在終端使用下面的命令將 `laravel/homestead` Box 添加到 Vagrant 中安裝。下載 Box 需要幾分鐘的時間,具體取決于你的互聯網連接速度: vagrant box add laravel/homestead 如果上面的命令運行失敗,請確保你的 Vagrant 是最新版本的 。 > {tip} 國內網絡的下載速度不是一般的慢。可另尋解決之道。 #### 安裝 Homestead 你可以簡單使用 Git 克隆代碼庫來安裝 Homestead。建議將代碼庫克隆到用戶「home」目錄下的 `Homestead` 文件夾中。這樣 Homestead Box 就可以作為所有 Laravel 項目的主機: cd ~ git clone https://github.com/laravel/homestead.git Homestead 由于 Homestead 的 `master` 分支并不是穩定分支,你應該用打過標簽的穩定版本。你可以在 [Github 發行頁面](https://github.com/laravel/homestead/releases) 上找到最新的穩定版本。 cd Homestead // Clone the desired release... git checkout v6.1.0 克隆 Homestead 代碼庫后,從 Homestead 目錄中運行 `bash init.sh` 命令來創建 `Homesstead.yaml` 配置文件。 `Homesstead.yaml` 文件會被放置在你的 Homestead 目錄中: // Mac / Linux... bash init.sh // Windows... init.bat <a name="configuring-homestead"></a> ### 配置 Homestead #### 配置提供器 `Homestead.yaml` 中的 `provider` 參數設置決定了你用的是哪一個 Vagrant 提供器:`virtualbox `、`vmware_fusion`、`vmware_workstation` 或者 `parallels`。你可以根據自己的喜好來設置提供器: provider: virtualbox #### 配置共享文件夾 `Homestead.yaml` 文件的 `folders` 屬性里列出所有與 Homestead 環境共享的文件夾。這些文件夾中的文件若有變更,它們會保持本地機器與 Homestead 環境之間同步。你可以根據需要配置多個共享文件夾: folders: - map: ~/Code to: /home/vagrant/Code 若要啟動 [NFS](https://www.vagrantup.com/docs/synced-folders/nfs.html),只需要在共享的文件夾配置中添加一個簡單的標志: folders: - map: ~/Code to: /home/vagrant/Code type: "nfs" > {note} 使用 NFS 時,建議你安裝 [vagrant-bindfs](https://github.com/gael-ian/vagrant-bindfs) 插件。這個插件會替你處理 Homestead Box 中的文件或目錄權限問題。 你也可以通過在 `options` 下方列出 Vagrant 的 [共享文件夾](https://www.vagrantup.com/docs/synced-folders/basic_usage.html) 支持的任何選項: folders: - map: ~/Code to: /home/vagrant/Code type: "rsync" options: rsync__args: ["--verbose", "--archive", "--delete", "-zz"] rsync__exclude: ["node_modules"] #### 配置 Nginx 站點 對 Nginx 不熟悉嗎?沒關系。`sites` 屬性可以幫助你可以輕松地將 `域名` 映射到 homestead 環境中的文件夾。`Homestead.yaml` 文件中已包含示例站點配置。同樣的,你也可以增加多個站點到你的 Homestead 環境中。 Homestead 可以同時為多個 Laravel 應用提供虛擬化環境: sites: - map: homestead.app to: /home/vagrant/Code/Laravel/public 如果你在配置 Homestead Box 之后更改了 `sites` 屬性,那么應該重新運行 `vagrant reload --provision` 來更新虛擬機上的 Nginx 配置。 #### 關于 Hosts 文件 你必須將在 Nginx 站點中所添加的「域名」也添加到你機器的 `hosts` 上。 `hosts` 文件會將 Homestead 站點的請求重定向到 Homestead Box 中。在 Mac 或 Linux 上,該文件位于 `/etc/hosts`。在 Windows 上,它位于 `C:\Windows\System32\drivers\etc\hosts`。添加的內容如下所示: 192.168.10.10 homestead.app 請確保列出的 IP 地址是你 `Homestead.yaml` 文件中的 IP 地址。將域名設置到 `hosts` 文件并啟動 Vagrant Box后,你就可以通過 Web 瀏覽器訪問該站點: http://homestead.app <a name="launching-the-vagrant-box"></a> ### 啟動 Vagrant Box 根據你的喜好完成 `Homestead.yaml` 的編輯后,再從 Homestead 目錄運行 `vagrant up` 命令。Vagrant 將啟動虛擬機并自動配置你的共享文件夾和 Nginx 站點。 如果要刪除虛擬機,使用 `vagrant destroy --force` 命令。 <a name="per-project-installation"></a> ### 根據項目安裝 除了全局安裝 Homestead 并且在所有項目共享相同的 Homestead Box 外,你可以為每個項目配置 Homestead 實例。通過在項目下創建 `Vagrantfile`,可以實現為每個項目分別安裝上 Homestead ,其他項目成員只需要簡單地運行 `vagrant up` 就能都擁有同樣的開發環境。 要將 Homestead 直接安裝到項目中,需要使用 Composer: composer require laravel/homestead --dev Homestead 安裝完后,可以使用 `make` 命令在項目根目錄中生成 `Vagrantfile` 與 `Homestead.yaml` 文件。`make` 命令會自動配置 Homestead.yaml 文件中的 `sites` 及 `folders` 指令。 Mac/Linux: php vendor/bin/homestead make Windows: vendor\\bin\\homestead make 接下來,在終端中運行 `vagrant up` 并在瀏覽器中訪問你的項目 `http://homestead.app`。再次提醒:你仍然需要在 `/etc/hosts` 里配置 `homestead.app` 或其它想要使用的域名。 <a name="installing-mariadb"></a> ### 安裝 MariaDB 如果你喜歡使用 MariaDB 而不是 MySQL,你可以在 `Homestead.yaml` 文件中增加一個 `mariadb` 的選項。這個選項會刪除 MySQL 并安裝 MariaDB。MariaDB 只是作為 MySQL 的替代品,因此你還是可以在應用的數據庫配置中使用 `mysql` 數據庫驅動: box: laravel/homestead ip: "192.168.20.20" memory: 2048 cpus: 4 provider: virtualbox mariadb: true <a name="daily-usage"></a> ## 常見用法 <a name="accessing-homestead-globally"></a> ### 全局使用 如果你想在系統的任何地方都可以使用 `vagrant up` 命令啟動 Homestead,你可以在 Mac / Linux 系統的 Bash 配置文件中添加 Bash 函數。在 Windows 中,你可以通過在 `PATH` 環境變量中添加一個「批處理」文件來實現。下面這些腳本使你可以從系統的任何地方運行任何 Vagrant 命令,并將自動將該命令指向你的 Homestead 安裝路徑: #### Mac / Linux function homestead() { ( cd ~/Homestead && vagrant $* ) } 確保將該功能中的 `~/Homestead` 路徑是你實際的 Homestead 安裝路徑。這樣你就可以在系統的任何地方運行 `homestead up` 或 `homestead ssh` 等命令。 #### Windows 在系統的任意位置創建一個批處理文件 `homestead.bat` ,并添加如下內容: @echo off set cwd=%cd% set homesteadVagrant=C:\Homestead cd /d %homesteadVagrant% && vagrant %* cd /d %cwd% set cwd= set homesteadVagrant= 請確保將例子中 `C:\Homestead` 這個路徑修改為你的實際 Homestead 的安裝路徑。創建文件后,將文件位置添加到環境變量 `PATH` 中。然后就可以在系統的任意位置運行 `homestead up` 或 `homestead ssh` 命令。 <a name="connecting-via-ssh"></a> ### 通過 SSH 連接 你可以通過在 Homestead 目錄運行 `vagrant ssh` 命令來連接虛擬主機。 你可能需要頻繁地使用 SSH 連接 Homestead 主機,可以嘗試著利用上述「功能」來快速地使用 SSH 連接 Homestead Box 。 <a name="connecting-to-databases"></a> ### 連接數據庫 在 Box 中已經為 MySQL 和 Postgres 配置好了一個數據庫 `homestead`。為了更方便的使用它,Laravel 中的 `.env` 文件將框架配置成默認使用此數據庫。 要從主機的數據庫客戶端連接到 MySQL 或 Postgres,就連接到 `127.0.0.1` 和端口 `33060` (MySQL) 或 `54320` (Postgres)。賬號密碼分別是 `homestead`/`secret` > {note} 從主機連接到數據庫時,只能使用這些非標準端口。 而 Laravel 在虛擬機中運行時,仍舊使用 Laravel 數據庫配置文件中的默認 3306 和 5432 端口。 <a name="adding-additional-sites"></a> ### 增加更多網站 Homestead 環境配置完畢且成功運行后,你可能會想要為 Laravel 應用程序增加其他的 Nginx 站點。你可以在單個 Homestead 環境中運行多個 Laravel 程序。要添加其他網站,只需將網站配置信息添加到 `Homestead.yaml` 文件中: sites: - map: homestead.app to: /home/vagrant/Code/Laravel/public - map: another.app to: /home/vagrant/Code/another/public 如果 Vagrant 沒有自動管理你的「hosts」文件,你可能需要手動把新增的站點加入到該文件中: 192.168.10.10 homestead.app 192.168.10.10 another.app 添加站點后,從 Homestead 目錄運行 `vagrant reload --provision` 命令就可以應用新的更改。 <a name="site-types"></a> #### 站點類型 Homestead 支持多種類型的站點,可以讓你輕松地運行那些不基于 Laravel 的項目。 例如,我們可以使用 `symfony2` 站點類型輕松地在 Homestead 中添加 Symfony 應用程序: sites: - map: symfony2.app to: /home/vagrant/Code/Symfony/web type: symfony2 支持的站點類型有: `apache`、`laravel`(默認)、`proxy`、`silverstripe`、`statamic`、`symfony2` 和 `symfony4`。 <a name="site-parameters"></a> #### 站點參數 你還可以使用 `params` 站點指令向你的站點添加其他 Nginx `fastcgi_param` 值。例如,添加一個值為 `BAR` 的 `FOO` 參數。 sites: - map: homestead.app to: /home/vagrant/Code/Laravel/public params: - key: FOO value: BAR <a name="configuring-cron-schedules"></a> ### 配置 Cron 調度器 Laravel 提供了便利的方式來 [調度 Cron 任務](/docs/{{version}}/scheduling),通過Artisan 命令 `schedule:run` ,調度便會在每分鐘運行一次。`schedule:run` 命令會檢查定義在你 `App\Console\Kernel` 類中的調度任務,以此判斷哪個任務該被運行。 如果你想對 Homestead 站點使用 `schedule:run` 命令,你需要在定義站點時將 `schedule` 選項設置為 `true` sites: - map: homestead.app to: /home/vagrant/Code/Laravel/public schedule: true 該站點的 Cron 任務會被定義在虛擬機的 `/etc/cron.d` 文件夾中。 <a name="ports"></a> ### 端口 默認情況下,以下端口會被轉發至 Homestead 環境: - **SSH:** 2222 → 發送到 22 - **HTTP:** 8000 → 發送到 80 - **HTTPS:** 44300 → 發送到 443 - **MySQL:** 33060 → 發送到 3306 - **Postgres:** 54320 → 發送到 5432 - **Mailhog:** 8025 → 發送到 8025 #### 轉發更多端口 你可以根據需要轉發更多端口給 Vagrant Box,并指定其協議: ports: - send: 50000 to: 5000 - send: 7777 to: 777 protocol: udp <a name="sharing-your-environment"></a> ### 共享你的環境 有時候你想跟你的同事或者是客戶共享你目前在開展的工作。Vagrant 提供了一個內置方法 `vagrant share` 來支持。不過,如果你的 `Homestead.yaml` 文件中配置了多個站點,就無法使用此命令。 為了解決這個問題,Homestead 提供了自己的 `share` 命令。開始之前,通過 `vagrant ssh` SSH 命令連接 Homestead 機器中并運行 `share homestead.app`。這會從 `Homestead.yaml` 配置文件中共享 `homestead.app` 站點。你也可以用其他已經配置的站點來代替 `homestead.app`。 share homestead.app 運行命令后,你可以看到一個 Ngrok 界面,其中包含活動日志和共享站點的可公開訪問的 URL。如果要指定自定義地區或者其他 Ngrok 選項,可以將它們添加到 `share` 命令后面: share homestead.app -region=eu -subdomain=laravel > {note} 謹記,Vagrant 本質上是不安全的。當你運行 `share` 命令時,你已經在互聯網中暴露了你的虛擬機。 <a name="multiple-php-versions"></a> ### 多個 PHP 版本 > {note} 此功能僅與 Nginx 兼容。 Homestead 6 支持在同一個虛擬機上引入多個版本的 PHP。你可以在 `Homestead.yaml` 文件中為給定站點指定使用哪個版本的 PHP。 可用的 PHP 版本有:「5.6」、「7.0」、「7.1」 sites: - map: homestead.app to: /home/vagrant/Code/Laravel/public php: "5.6" 此外,你還可以通過 CLI 使用任何受支持的 PHP 版本: php5.6 artisan list php7.0 artisan list php7.1 artisan list <a name="network-interfaces"></a> ## 網絡接口 `Homestead.yaml` 的 `networks` 屬性為 Homestead 環境配置網絡接口。你可以根據需要配置任意數量的接口: networks: - type: "private_network" ip: "192.168.10.20" 想啟用 [橋接](https://www.vagrantup.com/docs/networking/public_network.html) 接口,請配置 `bridge` 設置,并將網絡類型更改為 `public_network` : networks: - type: "public_network" ip: "192.168.10.20" bridge: "en1: Wi-Fi (AirPort)" 要啟用 [DHCP](https://www.vagrantup.com/docs/networking/public_network.html),只需從配置中刪除 `ip` 選項: networks: - type: "public_network" bridge: "en1: Wi-Fi (AirPort)" <a name="updating-homestead"></a> ## 更新 Homestead 你可以通過兩個簡單的步驟更新 Homestead。首先,使用 `vagrant box update` 命令更新 Vgrant Box : vagrant box update 接下來,如果你是通過克隆倉庫的方式來安裝的 Homestead,你需要更新 Homestead 的源代碼。你可以在你最初克隆倉庫的位置簡單地運行 `git pull origin master` 命令。 如果你是通過項目中的 `composer.json` 文件安裝 Homestead ,則應該確認 `composer.json` 文件中包含 `"laravel/homestead: "^6"` 并更新依賴: composer update <a name="old-versions"></a> ## 歷史版本 > {tip} 如果你需要一個舊版本的 PHP,請在嘗試使用舊版本的 Homestead 之前,先閱讀文檔 <a href="#multiple-php-versions">多個 PHP 版本</a> 上的文檔。 你可以通過添加以下內容添加到 `Homestead.yaml` 文件中來覆蓋 Homestead 使用的 Box 版本: version: 0.6.0 例如: box: laravel/homestead version: 0.6.0 ip: "192.168.20.20" memory: 2048 cpus: 4 provider: virtualbox 當你使用較舊版本的 Homestead Box 時,你需要確保將其與 Homestead 源代碼的兼容版本進行匹配。下面的圖表展示了支持的 Box 版本,使用哪個版本的 Homestead 源代碼以及提供的 PHP 版本 | | Homestead Version | Box Version | | ------- | ----------------- | ----------- | | PHP 7.0 | 3.1.0 | 0.6.0 | | PHP 7.1 | 4.0.0 | 1.0.0 | | PHP 7.1 | 5.0.0 | 2.0.0 | | PHP 7.1 | 6.0.0 | 3.0.0 | <a name="provider-specific-settings"></a> ## 提供器的特殊設置 <a name="provider-specific-virtualbox"></a> ### VirtualBox Homestead 默認將 `natdnshostresolver` 設置為 `on`。這允許 Homestead 使用主機系統中的 DNS 設置。如果你想重寫這行為,你可以在你的 `Homestead.yaml` 文件中添加下面這幾行: provider: virtualbox natdnshostresolver: off ## 譯者署名 | 用戶名 | 頭像 | 貢獻 | 簽名 | |---|---|---|---| | [WangYan](http://blog.wangyan.org) | <img class="avatar-66 rm-style" src="http://imgcdn.wangyan.org/a/120x120.jpg"> | 翻譯 | [About Me](http://blog.wangyan.org/about) | | [@JokerLinly](https://laravel-china.org/users/5350) | <img class="avatar-66 rm-style" src="https://dn-phphub.qbox.me/uploads/avatars/5350_1481857380.jpg"> | Review | Stay Hungry. Stay Foolish. | --- > {note} 歡迎任何形式的轉載,但請務必注明出處,尊重他人勞動共創開源社區。 > > 轉載請注明:本文檔由 Laravel China 社區 [laravel-china.org](https://laravel-china.org) 組織翻譯,詳見 [翻譯召集帖](https://laravel-china.org/topics/5756/laravel-55-document-translation-call-come-and-join-the-translation)。 > > 文檔永久地址: https://d.laravel-china.org
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看