为什么不能从IIS上的WWW访问laravel的php artisan服务服务器


12

我有一个通过laravel artisan 服务器运行的laravel应用程序:

 php artisan serve

如果我继续使用它,它就可以正常工作localhost:8000。此外,我在IIS服务器中添加了入站规则,如下所示:

控制面板->管理工具->具有高级安全性的Windows防火墙,入站规则。制定新规则“允许端口,TCP,8000,所有配置文件

但是由于某种原因,我仍然无法从WWW访问该网站(我为webrick服务器(在同一台计算机上)执行了完全相同的步骤,并且一切正常。)有什么想法吗?


1
在不了解Laravel或的情况下artisan,我的猜测是localhost默认情况下只绑定了它,您必须对其进行配置以处理非本地请求。查找系统文档以进行检查。
斯文

@SvW是正确的。
ceejayoz 2014年

Answers:


29

要使其在localhost之外运行,请执行 php artisan serve --host 0.0.0.0

如果您希望它在不指定浏览器端口的情况下运行,请访问php artisan serve --host 0.0.0.0 --port 80sudo可能是必需的。

注:php artisan serve应该永远不会被用于生产。它仅用于开发和演示,最多只能处理一个人或两个人的流量。


好的听起来不错..确实按照您的指示我可以从WWW​​上查看它(即mydomain.com:8080)。但是我仍然想知道为什么我无法使apap实际将其提供给WWW?这是我的特定情况:运行artisan serve使其工作正常。.但是然后打开apache会给我page not found错误..我已经使用composer创建了一个示例laravel项目..即使在apache上也运行得很好。实际上是从另一位开发人员的机器复制过来的。。我假设它可能与文件权限有关?
2014年

2
您将必须正确配置Apache以指向正确的目录。请参阅laravel.com/docs/installation#pretty-urls
ceejayoz 2014年

好的..我按照此处的指示更改AllowOverride为.. Allhttpd.conf文件名,但是没有用..在laravel网站上,它说如果不起作用,请尝试..但是我不确定在哪里放那些东西?他们也应该去同一个httpd.conf文件吗?DocumentRootOptions +FollowSymLinks RewriteEngine On ..
2014年

您的DocumentRoot是否指向公共目录?
ceejayoz 2014年

1
@colinhoernig请记住,切勿将其用于生产。
ceejayoz 2014年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.