WSL 2を介したWin 10、Laravel ValetおよびTeltenの取り出しに関するPHP開発
7208 ワード
私はPHPの開発を専門的に行ってきました.私は、ずっとずっとずっとWindowsユーザーでした.それは経験が常にされていないローカルのWebサーバーを実行することになるとして最大の経験をされていない一緒に入れてください.Windowsの行のようなニュアンスは常に問題を引き起こす.私はLinuxに切り替えようとしました、しかし、GUIは常にそれが欠けたように感じました.私はMacosのファンではありませんでした、しかし、彼らがララベルValetのようなツールが私に公正な何度も嫉妬しました.ありがたいことにWin 10は、今日のゲームチェンジャーですWSL 2があります.
このガイドでは、Laravel Valet Linuxを使用してローカル開発のためのPHP環境を設定する方法と、Docker上でのテーピングアウトツールを説明します.
WSL 2
まず最初に、あなたがすでにこれをしないならば、あなたはWSL(WindowsのためのWindowsサブシステム)をあなたのマシンにセットアップする必要があります.これを行うための公式ガイドはhere
それは非常に広く使用され、常にWeb上の任意の問題のための良いドキュメント/検索結果を持っているとして使用されるLinuxのディストリビューションは、私はUbuntuを使用している純粋に個人的な好みです.
環境の大部分は、Laravel ValetでWSL上で設定されますが、ユーザーが自分の好みを選択できるようにデータベースエンジンを自動的にセットアップしません.このため、我々は使用されますTighten Takout データベース/キャッシュ/検索などの任意の必要なエンジンを設定します.
ドック
あなたがDockerをインストールしないならば、まず第一にsimple install process 始める.Dockerを設定した後にチェックして、dockerがWSLコンテナを使用していることを確認しますhere
環境設定
我々はあらかじめインストールされているので、環境を設定することができます.
パッケージリストの更新
PHPをインストールします.
作曲家をインストール
ララベルバレーの準備
追加する依存関係はほとんどありません:
Laravel Valet Linuxをインストールします
サービスの開始
谷
今すぐすべてを設定する必要がありますし、物事を得ることができる必要があります
valetまた、サイトを探す場所を識別するディレクトリを駐車する必要があります.ラン
持ち帰り
走る
追加
ノード.js
ノード.デフォルトではJSはインストールされません.私もNPMを含みました、しかし、糸はNPMに代わるものとして使われることができる人気のあるパッケージマネージャーです.
リクエストルーティング/dns
サイトの作業を取得する最後のものは、127.0.0.1にサイトをルートにローカルPCのDNSエントリを追加する要件です.これは通常
しかし、開発WebブラウザとしてChromeを使用している場合は、潜在的な回避策があります.につきIETF specification
このガイドでは、Laravel Valet Linuxを使用してローカル開発のためのPHP環境を設定する方法と、Docker上でのテーピングアウトツールを説明します.
WSL 2
まず最初に、あなたがすでにこれをしないならば、あなたはWSL(WindowsのためのWindowsサブシステム)をあなたのマシンにセットアップする必要があります.これを行うための公式ガイドはhere
それは非常に広く使用され、常にWeb上の任意の問題のための良いドキュメント/検索結果を持っているとして使用されるLinuxのディストリビューションは、私はUbuntuを使用している純粋に個人的な好みです.
環境の大部分は、Laravel ValetでWSL上で設定されますが、ユーザーが自分の好みを選択できるようにデータベースエンジンを自動的にセットアップしません.このため、我々は使用されますTighten Takout データベース/キャッシュ/検索などの任意の必要なエンジンを設定します.
ドック
あなたがDockerをインストールしないならば、まず第一にsimple install process 始める.Dockerを設定した後にチェックして、dockerがWSLコンテナを使用していることを確認しますhere
環境設定
我々はあらかじめインストールされているので、環境を設定することができます.
パッケージリストの更新
sudo apt-get update
PHPをインストールします.
sudo apt install unzip php php-cli php-fpm php-json php-intl php-common php-mysql php-zip php-gd php-mbstring php-curl php-xml php-pear php-bcmath -yqq
他のモジュールが必要な場合はsudo apt install php-module
コマンド.特定のPHPバージョンまたはPHPモジュールバージョンが必要な場合は、php7.4 php7.4-zip
形式.作曲家をインストール
curl -sS https://getcomposer.org/installer | php \
&& sudo mv composer.phar /usr/local/bin/ \
&& sudo ln -s /usr/local/bin/composer.phar /usr/local/bin/composer
ララベルバレーの準備
追加する依存関係はほとんどありません:
sudo apt-get install network-manager libnss3-tools jq xsel
また、編集/etc/wsl.conf
次の行を追加します.WSLが通常再作成するとき、これはnescessaryです/etc/resolv.conf
ファイルを起動します.WSL設定でこの行を追加すると、ファイルがシンボリックリンクでない限り、ファイルを再書き込みするのを防ぎます[network]
generateResolvConf=false
Laravel Valet Linuxをインストールします
composer global require cpriego/valet-linux tightenco/takeout
また、コマンドを使用できるようにしたいvalet
or takeout
パスを指定せずに、これらのバイナリへのパスがシステムパス変数の一部として登録されていることを確認します.これは、~/.bashrc
グローバルな作曲者ビン経路への経路を加えることによるファイル.export PATH=~/.config/composer/vendor/bin:$PATH
一旦ファイルが更新されるならば、あなたは走ることによってロードされる新しい経路のためにbashシェルを再ロードすることができますsource ~/.bashrc
これでVALETをインストールできます.valet install
これはデバイス上でlaravel valetを設定します.ヴァレットは/etc/resolv.conf
WSLが再起動された後にリセットされるシンボリックリンクへのファイル.confファイルを編集します.このため、valet resolv configをコピーすることを推奨します.sudo unlink /etc/resolv.conf
sudo cp /opt/valet-linux/valet-dns /etc/resolv.conf
私が気づいた問題は、VALET LinuxにはデフォルトのDNSコンフィグを含んでいないということです.これはWSLからのWeb上でのアクセスに問題が生じる可能性があります.このため、追加することをお勧めします/opt/valet-linux/dns-servers
ファイルとそれに続くnameserver 1.1.1.1
1.1.1.1
を使用することはできません8.8.8.8
Google DNSまたは他のどんな代替のためにでも.サービスの開始
谷
今すぐすべてを設定する必要がありますし、物事を得ることができる必要があります
valet start
コマンド.個人的な経験では、私はUbuntuのPHP FPMがValet Linuxで始まっていないことに気がつきました、そして、私はまだ理由を理解していませんsudo service php7.4-fpm start
(または、PHPのバージョン)valetまた、サイトを探す場所を識別するディレクトリを駐車する必要があります.ラン
valet park
あなたのプロジェクトを見つけているディレクトリで.持ち帰り
走る
takout enable
MySQL、Postgres、Redis、AnalySearch等を有効にするためのメニューを作成する必要があります.これらを有効にすると、サービスを管理するために使用されるDockerコンテナを設定できます.既に設定されているサービスを実行することができますtakeout list
を実行してtakeout start CONTAINER_ID
and takeout stop CONTAINER_ID
NBサービスは127.0.0.1ではlocalhostではありませんので、これを反映するために環境変数を更新してください.追加
ノード.js
ノード.デフォルトではJSはインストールされません.私もNPMを含みました、しかし、糸はNPMに代わるものとして使われることができる人気のあるパッケージマネージャーです.
sudo apt install nodejs npm
インストールをおすすめしますNVM (node version manager) として簡単にいくつかのレガシープロジェクトをサポートする必要がある場合に便利かもしれないノードのバージョン間で切り替えることができます.また、それは簡単に新しいバージョンがリリースされるときにアップグレードすることができるリクエストルーティング/dns
サイトの作業を取得する最後のものは、127.0.0.1にサイトをルートにローカルPCのDNSエントリを追加する要件です.これは通常
C:/Windows/System32/drivers/etc/hosts
ドメイン名とそのIPアドレスを指定するファイル127.0.0.1 mysite.test
これは、個々のサイトを個別に管理する必要があるので、ワイルドカードDNSルーティングが可能であるLinux/MacOSのVALETの使いやすさと比較すると、比較的大きなセットバックです.しかし、開発WebブラウザとしてChromeを使用している場合は、潜在的な回避策があります.につきIETF specification
*.localhost
TLDはループバックドメインであることを概説し、127.0.0.1に戻るべきです.しかしながら、これはWebブラウザ会社が実装し、混合結果があるためです.私自身のテストから、私はChromeがこの機能をサポートしているのを見つけました、他のブラウザー(Firefox/EDGE)がこれをしない間.したがって、主にこのブラウザで動作する場合は、VALETドメインをlocalhostに切り替えることができ、手動でDNSエントリを追加する必要がなくなります.valet domain localhost
Reference
この問題について(WSL 2を介したWin 10、Laravel ValetおよびTeltenの取り出しに関するPHP開発), 我々は、より多くの情報をここで見つけました https://dev.to/mafx/php-development-on-win10-through-wsl2-laravel-valet-and-tighten-takeout-5en8テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol