web-dev-qa-db-ja.com

実行中PHP 5.4ローカルホスト外の組み込みWebサーバー

はい、PHP 5.4の次のリリースには組み込みのWebサーバーがあり、リリース候補で試すことができます(これについても最近見つけました!)

http://php.net/manual/en/features.commandline.webserver.php

私が理解するのに助けが必要なのは、ローカルホスト以外のドメイン名で実行する方法はありますか(ローカルホスト、ポート80で正常に実行されています)? 127.0.0.1でも機能しません。ホストファイルに127.0.0.1を指すようにダミーのホスト名を入れましたが、それらも機能しません。これは単なるリリース候補であることを理解していますが、hostsファイルで127.0.0.1を指す実際のドメイン名でアプリをテストできるように、他の誰かがこの問題の解決策をすでに考えているかどうかを知りたいです。 OSはWindows7 ProfessionalSP1です。

私がすでに試したこと:1。グーグル(duh)2.php.iniでオプションを探します3.127.0.0.1、私のLAN IP、私のWAN IP、ポート80が転送されていますおよびNATループバックの問題が修正されました(DD-WRTを実行しているルーター)

28
Shanshui

これらのテストはWindows XPシステムで実行しましたが、コマンドを変更することでLinuxでも同じように機能するはずです。

次のようにPHPテストサーバーを実行します:

C:/php/php.exe -S 0.0.0.0:80
or
/usr/bin/php -S 0.0.0.0:80

0.0.0.0は、システムで使用可能なすべてのIPアドレスにバインドします。

ネットワーク上の別のマシンで、カスタムドメインを使用してPHP)を実行しているシステムの内部IPを指すようにhostsファイルを構成しました。これはローカルホストを参照しているため、127.0.0.1ではありません。 、私の場合、メインPCを192.168.88.247にポイントしました。これはPHPを実行しているXPマシンです。PHPを実行しているマシンのポート80でトラフィックを許可するには、ファイアウォールを無効にするか設定する必要があります。

外部ポート80から192.168.88.247:80に転送トラフィックをポートするようにルーターを構成しました。次に、外部ネットワークからPC上のhostsファイルを使用して、自分のWAN IPを指すように偽のドメインを構成しました。PHP外部のWebサーバー。

とはいえ、これはテスト用のサーバーにすぎないため、未知のセキュリティリスクが外部に公開される可能性があります。

それがあなたを助けることを願っています。

65
drew010