[英]laravel 5.2 internal server error
我的laravel項目在artisan serve
在localhost工作良好,值得推薦。 現在,我正在嘗試將其托管在虛擬主機上。 我上傳我的項目下public_html
復制所有文件public
文件夾我還編輯app.php
'debug' => env('APP_DEBUG', true),
用於顯示錯誤。
我編輯index.php
require __DIR__.'/bootstrap/autoload.php';
$app = require_once __DIR__.'/bootstrap/app.php';
但它仍會返回500 Internal server error。
我也嘗試了另一種方式,上傳我的項目到根目錄以外public
文件夾和上傳public
文件夾到public_html
目錄。 我將index.php
編輯為
require __DIR__.'/laravel/bootstrap/autoload.php';
$app = require_once __DIR__.'/laravel/bootstrap/app.php';
我找不到我的代碼有什么問題。 我如何將laravel 5.2項目部署到虛擬主機中?
否否否。您需要對第二個選項進行一些改進。 讓我向您解釋。 laravel應用程序如下所示:
app/
config/
public/
public/index.php
.env
composer.json
artisan
對? 很好,現在虛擬主機的結構如下:
/home/user/
/home/user/public_html/
但是上面的結構不符合我們的需求,因為應該訪問的是public/
文件夾而不是public_html/
。 所以..第一步是上傳您的項目,就像這樣:
/home/user/home/project/app/
/home/user/project/config/
/home/user/project/.env
/home/user/project/composer.json
/home/user/project/public/index.php
下一步是確定要將項目作為主要域還是子域。
如果您的laravel項目將用作主域,則只需編輯apache的配置文件httpd.conf
並設置以下規則:
DocumentRoot“ / home / user / project / public” ...
如果要作為子域進行項目開發,只需編輯apache的配置文件httpd.conf
並添加一個虛擬服務器,如下所示:
Listen 80 <VirtualHost *:80> DocumentRoot "/home/user//project/public" ServerName my-project.example.com # Other directives here </VirtualHost>
使用此指令,您要告訴apache Hey! when people visits my-project.example.com show them the content of my site under /home/user/site/public
Hey! when people visits my-project.example.com show them the content of my site under /home/user/site/public
。
如果您使用的是cpanel,則只需創建一個子域並將其指向
/home/user/site/public
就是這樣,您不需要黑客入侵任何項目的文件,例如index.php,這是一個壞習慣。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.