WordPressの開発やらテストで必須のツール『Local』 by Flywheel。
長らくVer.3を使ってましたが、先日PHP 8の環境を作るべく、Ver.5を導入。
しかしエラー表示で起動が出来ない・・・
その解決方法を備忘録として残しておきます。
Localがスタート出来ない
『Local』をインストールしてローカル環境を指定して作成。
そしてスタート。
ここまではVer.3と同じ。
だけど下記の様なエラーが表示されて、ローカル環境にアクセス出来ない状況。
Heads-up! Local’s router is having trouble starting.
Google先生に翻訳をお願いすると
注意喚起! ローカルのルーターの起動に問題があります。
ルーターなんか使って無いけどね、なんて思いつつ調べてみると、どうやら『Local』が使用するポートが競合している事が原因のようだ。
World Wide Web 発行サービスを止める
詳しい事は後述するが、私の環境では『World Wide Web 発行サービス』が原因でした。
Windows10の標準サービスです。
これを停止させます。
Windowsのスタートメニューの『Windows管理ツール』内の『サービス』を選択。
『サービス』を開いたら『World Wide Web 発行サービス』を選択。
そして停止させます。
リトライでエラー解消
『World Wide Web 発行サービス』が停止できたら、『Local』でエラー表示になっている部分から『RETRY』を選択。
以上でエラーが解消されローカル環境にアクセス可能となります。
この環境を維持するには?
先ほど『World Wide Web 発行サービス』を停止させました。
しかし停止させただけでは、Windowsを起動する度に復活するので同じ上記手順を毎回踏む必要があります。
私の場合、『World Wide Web 発行サービス』に依存した環境では無いので、サービスを起動させないようにします。
先ほどと同じ手順で『サービス』を開いたら『World Wide Web 発行サービス』を選択。
そして右クリックします。
そしてプロパティを選択。
『World Wide Web 発行サービス』の起動方法を選べます。
スタートアップの種類は標準では『自動』になっています。
これを『無効』もしくは『手動』に変更。
そしてOKを選択すれば、次回Windowsの起動時には『World Wide Web 発行サービス』は動かないので、『Local』の起動もスムーズに行えます。
ポート80を使用しているアプリケーションを調べる
上記手順で解決出来ない場合は、異なるアプリケーションがポート80を使用していると思われます。
コマンドプロンプトで調べます。
Windowsのスタートメニューの『Windowsシステムツール』内の『コマンドプロンプト』を右クリック。
その他を選んで、その中から管理者として実行を選びます。
ユーザーアカウントの制御ダイアログが表示されますが、『はい』を選びます。
『コマンドプロンプト』が開けたら次のコマンドを入力します。
netstat -nao | find "80"
これで現在利用されている80に関するポート情報が表示されます。
アドレスの末尾に:80と表示されているのが、80のポートを対利用しているアプリケーションになります。
但しここではPID(プロセス ID)が表示されるだけで、アプリケーションの名前は分かりません。
とりあえず右端に表示されている番号をメモします。
今回は『4』が対象となります。
PIDからアプリケーションを調べる
PIDが分かったらタスクマネージャを開きます。
Windowsのスタートメニューの『Windowsシステムツール』内の『タスクマネージャ』を選択。
タスクマネージャを開いたら、詳細タブを開いて、PIDを選択し並び替えします。
表示されている一覧から、先ほどメモしたPIDを見つけます。
私の環境の場合は『4』は『System』になっていました。
この『System』自体は停止できず、さらに調べると原因は『World Wide Web 発行サービス』でした。
アプリケーションによっては番号が異なると思いますので、環境に応じて対応してください。
で、対象となるアプリケーションが分かれば、そのアプリケーションを停止させるか、使用するポート番号を変更させます。
『Local』のポート番号が変更出来れば話は早いのですが、未対応の様です。
んがぐぐ^^;
Localが使える様になると
無事に『Local』が使える様になった状態でポート番号を調べてみます。
先ほどと同じ要領で調べるとPIDが変更されています。
『Local』で使用してる『nginx.exe』になっている事が分かります。
あとがき
私の環境の場合は以上で解決出来ました。
これでPHP8も使えるし万々歳です。
Ver.3に比べてver.5は起動も速くなっているし良い感じです。