私は、phpstormを使用してPHPアプリケーションをWindowsで開発しています。友人が提案したので、Ubuntuに移行しました。最近、PHPStormでXdebugを構成しましたが、次のエラーが表示されるため、試すことができません。
Failed to listen on 127.0.0.1:80 (reason: Permission denied)
PHPStorm 2016.2を使用しています。デバッグなしで実行されていますが、デバッグのためにWeb Serverで実行しようとすると、このエラーが発生します
すべての助けをいただければ幸いです。
次のようにコマンドを実行して、ポート80が既に他のプログラムで使用されているかどうかを確認してください。
ss -nltp | grep -iw 80
上記のコマンドがubuntuで見つからない場合(古いubuntuバージョンにはssコマンドがありません)、次のcmdを試してください。
netstat -nltp | grep -iw "80"
ポート80がアプリケーションで使用されている場合、そこにリストされます。見つかった場合は、まずそのアプリケーションを停止するか、そのアプリケーションのポートをポート8以外に変更する必要があります。アプリケーションを実行して、ポート80に簡単にバインドできるようにしてください。
スレッドをネクロバンプしてすみませんが、検索エンジンに表示されます。
1024未満のポートは特権ポートです。つまり、ポートをバインドするには昇格されたアクセス許可が必要です。これには、元の質問で指定されたポート80と、非特権ユーザーによって開始されたPHPStormが含まれることは明らかです。
詳細については、こちらをご覧ください https://www.cyberciti.biz/faq/linux-unix-open-ports/
特権ポートで他のアプリケーションによって拒否された許可を取り除くには、authbindをインストールします。 authbindをインストールするには
Sudo apt-get install authbind
ポート80をauthbindで使用できるようにします(rootになる必要があります):
touch /etc/authbind/byport/80
chmod 500 /etc/authbind/byport/80
chown <Apache_user_created> /etc/authbind/byport/80
touch /etc/authbind/byport/443
chmod 500 /etc/authbind/byport/443
chown <Apache_user_created> /etc/authbind/byport/443
その後、それは大丈夫になります。