2017-01-03 105 views
1

我正在使用ubuntu 16.04並在laravel項目上工作。本地測試手機上的apache網站

我在/var/www/html新laravel項目命名爲myproject並可以通過去訪問它

localhost/myproject/public/

但是爲了路由的工作,我發現了一個解決方案,以創建像在/etc/apache2/sites-available網站這樣的:

<VirtualHost *:80> 
ServerName myproject.dev 

ServerAdmin [email protected] 
DocumentRoot /var/www/html/myproject/public 

<Directory /var/www/html/myproject> 
    AllowOverride All 
</Directory> 

ErrorLog ${APACHE_LOG_DIR}/error.log 
CustomLog ${APACHE_LOG_DIR}/access.log combined 
</VirtualHost> 

,然後在/etc/hosts文件添加新條目,就像這樣:

127.0.0.1 localhost 
127.0.1.1 myhostname 
127.0.0.1 myproject.dev 

重啓apache現在可以在瀏覽器中使用http://myproject.dev訪問項目。

現在我想測試一些使用實際手機的響應的東西。

我試圖http://myproject.dev它不工作,另外,如果我做

http://myhostname/myproject/public

它帶我到登錄頁面,但訪問任何其他途徑給出了404,而此格式也沒有在電腦瀏覽器上工作。

然而,這適用於計算機:

http://localhost/myproject/public

而不是在手機上。

如何訪問手機上的myproject網站?而且我的電腦和手機都連接到同一個wifi接入點。

回答

0

將IP地址的別名添加到您的<VirtualHost>-directive中。類似於ServerAlias 192.168.1.100。然後,您應該能夠訪問該IP地址上的Web應用程序,如下所示:http://192.168.1.100/myproject/public

在這裏工作的主要原則是相當獨立於laravel,但更多與DNS和網絡以及apache配置有關。

1

記住,你的手機不知道你的網站的網址,因爲它是不以任何DNS服務器,你不能擺弄主機在手機上的文件,除非你越獄。

我通常所做的就是創建一個新的虛擬主機,用於從手機訪問網站時使用。但在此虛擬主機上,我使用另一個端口號,因爲在手機瀏覽器上添加端口號非常簡單。

所以添加其他VH這樣的,另一個聽命令

Listen 81 
<VirtualHost *:81> 
    ServerName myproject.dev 
    ServerAdmin [email protected] 
    DocumentRoot /var/www/html/myproject/public 

    <Directory /var/www/html/myproject> 
     AllowOverride All 
     # add access from any ip on your subnet 
     Require ip 192.168.1 
    </Directory> 

    ErrorLog ${APACHE_LOG_DIR}/error.log 
    CustomLog ${APACHE_LOG_DIR}/access.log combined 
</VirtualHost> 

然後假設服務器上192.168.1.100運行使用這個網址去現場

http://192.168.1.100:81 

和你的路線應該工作沒有任何擺弄

+0

如果他確實有root權限,他也可以修改等文件,在他的電話指向myproject.dev到192.168.1.100:81以及 – Yeikel

+0

@Yeikel是的,但這種方式,你不必「root」你的手機。並且將手機瀏覽器地址欄中的端口號添加比幾乎任何其他機制都簡單很多 – RiggsFolly

+0

是的。我覺得真正的測試是使用真正的域名比使用IP更好,特別是因爲您永遠不會要求用戶記住您的主機IP。而且,對於開發人員來說,它也更容易記住。 – Yeikel