使用Apache(wampserver)为Laravel应用程序提供服务,以便从同一局域网中的其他计算机进行访问

时间:2017-03-15 06:53:24

标签: php apache laravel wampserver laravel-5.4

我需要从同一局域网中的其他计算机访问我的Laravel应用程序,该应用程序与Apache(wampserver)一起提供。

OS: Windows 8.1
Wampserver version: 3.0.6
Apache version: 2.4.23

我可以通过以下网址从其他计算机访问我的应用程序:

http://192.168.12.13/scms/public/

以下网址也有效:

http://192.168.12.13/scms/public/categories/create

但是当我从上面的URL提交POST请求时它不起作用。它重定向到以下 -

http://192.168.12.13/categories

并显示" Not Found"。所以,它不起作用。

为了解决这个问题,我为我的应用程序设置了虚拟主机,它可以在我自己的计算机上完美运行。但我无法从其他计算机访问它。

我的设置:

在档案中:

C:\wamp64\bin\apache\apache2.4.23\conf\httpd.conf

添加了这一行:

Listen 192.168.12.13:80

在档案中:

C:\wamp64\bin\apache\apache2.4.23\conf\extra\httpd-vhosts.conf

完整代码:

# Virtual Hosts

# wamp
<VirtualHost *:80>
    DocumentRoot "C:\wamp64\www"
    ServerName localhost
</VirtualHost>

# scms
<VirtualHost *:80>
    DocumentRoot "C:\wamp64\www\scms\public"
    ServerName local.scms-ananta.com

    <Directory "C:\wamp64\www\scms\public">
        Options Indexes FollowSymLinks MultiViews
        AllowOverride all
        Require all granted
    </Directory>
</VirtualHost>

在档案中:

C:\Windows\System32\drivers\etc\hosts

增加了以下几行:

127.0.0.1 local.scms-ananta.com
192.168.12.13 local.scms-ananta.com

通过上述设置,我可以在我自己的计算机上使用以下网址完美地使用我的应用程序:

http://local.scms-ananta.com

但我无法从网络上的其他计算机访问它。

请注意,使用php artisan serve投放不符合我的目的。我需要用Apache服务。

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:1)

首先,编辑主机文件在从其他计算机访问时无法帮助您,除非您还编辑了所有这些PC的主机文件。因此最好使用IP进行访问。

现在您的配置问题是,要在服务器中提供/部署laravel网站,您必须将公用文件夹作为文档根目录。 Follwoing是localhost的配置

# wamp
<VirtualHost *:80>
    DocumentRoot "C:\wamp64\www"
    ServerName localhost
</VirtualHost>

将文档更改为以下内容将解决您的问题。

DocumentRoot "C:\wamp64\www\scms\public"