laravelのphp職人サーブサーバーがIIS上のWWWからアクセスできないのはなぜですか


12

laravel artisan サーバーを通してlaravelアプリケーションを実行しています

 php artisan serve

そして、私が自分のlocalhost:8000.. に進むとうまく機能します。さらに、次のようにIISサーバーにインバウンドルールを追加しました。

コントロールパネル->管理ツール->セキュリティが強化されたWindowsファイアウォール、受信の規則。新しいルール「ポート、TCP、8000、すべてのプロファイルを許可する」を作成します

しかし、何らかの理由で、私はまだWWWからWebサイトにアクセスできません(Webrickサーバー(同じマシン上で)に対してまったく同じ手順実行し、完璧に機能しました)。


1
Laravelまたはを知らなくてもartisanlocalhostデフォルトでのみバインドされているので、非ローカルリクエストを処理するように設定する必要があります。これを確認するには、システムのドキュメントを参照してください。
スヴェン

@SvWは正しいです。
ceejayoz 14年

回答:


29

ローカルホストの外で動作させるには、次のようにします php artisan serve --host 0.0.0.0

あなたはそれがブラウザでポートを指定せずに仕事をしたい場合は、php artisan serve --host 0.0.0.0 --port 80sudoおそらく必要になります。

注意:php artisan serve必要があります決して生産のために使用しないこと。開発者とデモンストレーション専用であり、1人または2人分のトラフィック以上を処理することはできません。


確かにあなたの指示を使用して、WWWから表示できました(つまり、mydomain.com:8080)..しかし、なぜApacheを実際にWWWに提供できないのか疑問に思っていますか?これは私の特定のシナリオです:実行artisan serveするとうまく動作します..その後、Apacheをオンにpage not foundするとエラーが発生します..composerを使用してサンプルlaravelプロジェクトを作成しました..実際に別の開発者のマシンからコピーされた..ファイルのアクセス許可と関係があると思われますか?
abbood

2
適切なディレクトリを指すようにApacheを適切に構成する必要があります。laravel.com/docs/installation#pretty-urlsを参照してください。
ceejayoz

OK .. ここで指示さているように定義のファイルに変更AllowOverrideAllました..しかし、それはうまくいきませんでした.laravel Webサイトでは、うまくいかない場合は試してみてください..それらのものを置く?彼らは同じhttpd.confファイルにも行くことになっていますか?httpd.confDocumentRootOptions +FollowSymLinks RewriteEngine On ..
abbood

DocumentRootはパブリックディレクトリを指していますか?
ceejayoz 14年

1
@colinhoernig本番環境では決して使用しないでください
ceejayoz
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.