2017-04-13 45 views
0

這是我第一次嘗試將Laravel應用程序從本地環境遷移到遠程服務器。爲什麼在我的遠程服務器上遷移Laravel應用程序後,此路線不起作用?

所以基本上我已經上傳我的本地Laravel 5.4應用程序的全部內容在我的遠程服務器上的這個文件夾:

/var/www/html/HotelRegistration 

然後我試圖打開此網址到瀏覽器(我的遠程服務器):

http://89.36.211.48/HotelRegistration/public/ 

以及如何看到標準的Laravel主頁出現(這是預期的,但我必須用自定義的頁面替換此頁面)。

的問題是,在我的的web.xml文件我已經把這些路線:

Route::get('/', function() { 
    return view('welcome'); 
}); 

Route::get('contact', function() { 
    return View::make('contact'); 
}); 

Route::post('contact', '[email protected]'); 


Route::resource('/registration', 'RegistrationController'); 

第一個是一個相關標準Laravel頁面正常工作,最後一項是:

Route::resource('/registration', 'RegistrationController'); 

和它應該處理HTTP GET朝向/註冊請求這個RegistrationController類,該C ontroller類包含此指數()方法:

/** 
* Metodo che mostra la pagina di registrazione di un nuovo utente albergatore. 
* @return \Illuminate\Contracts\View\Factory|\Illuminate\View\View 
*/ 
public function index(){ 
    Log::info('index() START'); 

    return view('/registration/index'); 

} 

在打開該URL:

http://89.36.211.48/HotelRegistration/public/registration 

應顯示一個註冊頁面。但是,正如您所看到的打開它,我獲得了未找到錯誤消息。

進入/var/www/html/HotelRegistration/storage/logs/laravel.log文件沒有什麼,我預計將在以前的方法控制的開始推杆日誌的輸出,所以它似乎它不會輸入這個方法。

奇怪的是,在我的本地主機系統上打開相同的URL(http://localhost/HotelRegistration/public/registration)它工作正常。

我想,也許它可能是一個路線問題(也許有些航線丟失),如果我在我的當地環境執行此statment:

php artisan route:list 

我獲得:

+--------+-----------+----------------------------------+----------------------+------------------------------------------------------+--------------+ 
| Domain | Method | URI        | Name     | Action            | Middleware | 
+--------+-----------+----------------------------------+----------------------+------------------------------------------------------+--------------+ 
|  | GET|HEAD |/        |      | Closure            | web   | 
|  | GET|HEAD | activate       |      | App\Http\Controllers\[email protected] | web   | 
|  | GET|HEAD | api/user       |      | Closure            | api,auth:api | 
|  | GET|HEAD | contact       |      | Closure            | web   | 
|  | POST  | contact       |      | App\Http\Controllers\[email protected]   | web   | 
|  | GET|HEAD | errors       | errors    | Closure            | web   | 
|  | POST  | registration      | registration.store | App\Http\Controllers\[email protected] | web   | 
|  | GET|HEAD | registration      | registration.index | App\Http\Controllers\[email protected] | web   | 
|  | GET|HEAD | registration/create    | registration.create | App\Http\Controllers\[email protected] | web   | 
|  | DELETE | registration/{registration}  | registration.destroy | App\Http\Controllers\[email protected] | web   | 
|  | PUT|PATCH | registration/{registration}  | registration.update | App\Http\Controllers\[email protected] | web   | 
|  | GET|HEAD | registration/{registration}  | registration.show | App\Http\Controllers\[email protected]  | web   | 
|  | GET|HEAD | registration/{registration}/edit | registration.edit | App\Http\Controllers\[email protected]  | web   | 
+--------+-----------+----------------------------------+----------------------+------------------------------------------------------+--------------+ 

包含此路線:

|  | GET|HEAD | registration      | registration.index | App\Http\Controllers\[email protected] | web   | 

這應該是與我以前的索引()我的控制器的方法有關的路由。

但我發現它也對我遠程環境執行相同statment:

[email protected]:/var/www/html/HotelRegistration# php artisan route:list 
+--------+-----------+----------------------------------+----------------------+------------------------------------------------------+--------------+ 
| Domain | Method | URI        | Name     | Action            | Middleware | 
+--------+-----------+----------------------------------+----------------------+------------------------------------------------------+--------------+ 
|  | GET|HEAD |/        |      | Closure            | web   | 
|  | GET|HEAD | activate       |      | App\Http\Controllers\[email protected] | web   | 
|  | GET|HEAD | api/user       |      | Closure            | api,auth:api | 
|  | GET|HEAD | contact       |      | Closure            | web   | 
|  | POST  | contact       |      | App\Http\Controllers\[email protected]   | web   | 
|  | GET|HEAD | errors       | errors    | Closure            | web   | 
|  | GET|HEAD | registration      | registration.index | App\Http\Controllers\[email protected] | web   | 
|  | POST  | registration      | registration.store | App\Http\Controllers\[email protected] | web   | 
|  | GET|HEAD | registration/create    | registration.create | App\Http\Controllers\[email protected] | web   | 
|  | GET|HEAD | registration/{registration}  | registration.show | App\Http\Controllers\[email protected]  | web   | 
|  | PUT|PATCH | registration/{registration}  | registration.update | App\Http\Controllers\[email protected] | web   | 
|  | DELETE | registration/{registration}  | registration.destroy | App\Http\Controllers\[email protected] | web   | 
|  | GET|HEAD | registration/{registration}/edit | registration.edit | App\Http\Controllers\[email protected]  | web   | 
+--------+-----------+----------------------------------+----------------------+------------------------------------------------------+--------------+ 

那麼可能是什麼問題呢?爲什麼在我的遠程環境下,這個URL(http://89.36.211.48/HotelRegistration/public/registration)似乎沒有像在本地那樣干擾?

可能是什麼問題?我錯過了什麼?我怎樣才能解決它?

+0

試圖讓laravel工作在非虛擬主機設置只是浪費你的時間。 – apokryfos

+0

@apokryfos問題是:我如何在我的遠程服務器上有一個虛擬主機?我的網址類似於89.36.211.48 – AndreaNobili

+0

您需要一個DNS條目並將該條目映射到您的主機IP。這不是免費的,但你的時間可能不是免費的,所以這是一個折衷。 – apokryfos

回答

0

您需要先更改權限,並給予需要許可並運行此命令

作曲家安裝 或 作曲家更新

謝謝

+0

我要設置什麼樣的權限? – AndreaNobili

+0

cd到/ var/www/html /然後鍵入chmod -R 755/HotelRegistration,然後輸入chown -R www-data:www-data/HotelRegistration ..希望這有助於 – Ssallah

+0

嘗試並附加index.php,像這樣http:/ /89.36.211.48/HotelRegistration/public/index.php/registration希望它有助於謝謝 – Ssallah

相關問題