2011-12-04 13 views
21

はい、PHP 5.4の次回リリースでは、リリース候補で試すことができるビルトインのWebサーバがあります(これについてはちょっと最近見つけました)。ローカルホストの外でPHP 5.4の組み込みWebサーバを実行

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

私は、ローカルホスト(localhost、ポート80で正常に動作している)以外のドメイン名で実行させる方法はありますか? 127.0.0.1でも動作しません。 127.0.0.1を指すように私のホストファイルにダミーのホスト名を入れましたが、それらは動作しません。私はそれが単なるリリース候補だと理解していますが、他の誰かがすでにこの問題の解決策を見つけているかどうかを知りたいので、私のホストファイルの127.0.0.1を指す実際のドメイン名でアプリケーションをテストできます。 OSはWindows 7 Professional SP1です。私はすでに試した

もの: 1.グーグル(当たり前) 2. 127.0.0.1を試すオプション 3用のphp.iniてみると、私のLAN IP、私のWAN IPポート80に転送し、NATと

+0

もしあなたがSuperUserやServerFaultの方が良いと思っているのなら、このWebサイトは* PHPでの実際のプログラミングに向いています。 – animuson

+0

私はそれが属しているかどうかは確かではありません。これはPHPに組み込まれているもので、おそらくPHP自体の設定と関係しているからです。とにかくおかげさまで、ありがとう! – Shanshui

+0

私はそれにいくつかの考えを与え、あなたが正しいと思います。私はちょうどServerFaultに移動させるために私自身の質問にフラグを立てました。うまくいけば、司会者がすぐに来るだろう。 – Shanshui

答えて

52

これらのテストは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はPHPを実行しているXPマシンの192.168.88.247になっています。ファイアウォールを無効にするか、phpを実行しているマシンのポート80でトラフィックを許可するように設定する必要があります。

ルータを、外部ポート80から192.168.88.247:80へのトラフィックを転送するように設定しました。その後、外部ネットワークのPC上のホストファイルを使用して、偽のドメインが自分のWAN IPを指すように設定しました。私は外部からPHP Webサーバーにアクセスできました。

つまり、テスト用のサーバーに過ぎないため、セキュリティのリスクが外部に広がっている可能性があります。

希望はあなたを助けます。

+0

この0.0.0.0のチップをありがとう! – Shanshui

+0

おかげで0.0.0.0のヒント!あまりにも... ;-) – ZEE

+0

あらかじめ指定されたホストからの接続だけを受け入れる方法は? –

関連する問題