[英]Laravel 5 is not working on shared hosting
我已經在本地主機上測試了我的 Laravel 5 項目,它在這個 url 上工作正常 - http://localhost/project-name/public/
然后我將我的項目上傳到共享主機上,我對 .env 文件上的數據庫進行了理想的更改,然后嘗試使用 url 訪問它 - http://companysite.com/folder/innerFolder/public/
但不工作並收到 500 內部服務器錯誤
我已經解決了相關的其他問題,但沒有答案引導我找到我的解決方案。 我已經完成了以下步驟
內部服務器錯誤
服務器遇到內部錯誤或配置錯誤,無法完成您的請求。
請通過 webmaster@techphant.techphant.com 聯系服務器管理員,告知他們此錯誤發生的時間以及您在此錯誤之前執行的操作。
服務器錯誤日志中可能提供有關此錯誤的更多信息。
此外,在嘗試使用 ErrorDocument 處理請求時遇到 500 Internal Server Error 錯誤。
我已經提到了這個鏈接laravel.io
最后,我在共享主機上完成了這項工作。 這就是我所做的
現在......這是“棘手的部分”......我看到了這個結構
郵件
perl5
php
public_html
[框架文件夾]
ssl
在 public_html 里面我可以看到 Laravel 5 的 public 目錄的所有文件轉到 index.php 並編輯第 22 行
從這需要 __DIR__.'/../bootstrap/autoload.php';
為此需要 __DIR__.'/../[framework-folder]/bootstrap/autoload.php';
和第 36 行
從這個$app = require_once __DIR__.'/../bootstrap/app.php';
到這個$app = require_once __DIR__.'/../[framework-folder]/pulcro/bootstrap/app.php';
最后一步是編輯 .htaccess 文件並添加一些行
RewriteEngine On
# Redirect Trailing Slashes...
RewriteCond %{REQUEST_URI} !^
RewriteRule ^(.*)$ /$1 [L]
並更新 [framework-folder]/server.php
從這個require_once __DIR__.'/public/index.php';
為此require_once __DIR__.'/public_html/index.php';
刷新我的瀏覽器的緩存和..勝利!! 我知道這不是安裝框架的絕對正確方法(上帝,我從未談論過 Composer)但是......它現在對我有用 希望這可以幫助某人部署 Laravel 5
感謝 Neeraj Rathod,但我發現這篇文章更有用,當然更簡單!
就我而言,通過閱讀那篇文章,我從“錯誤頁面”中發現,不得為“public”文件夾中的“index.php”文件以及通過路由的所有文件夾設置“組可寫”權限。 您還必須檢查您的共享主機 php 版本是否超過 7.0
Neeraj Rathod 說的所有內容,但也請轉到vendor\\laravel\\framework\\src\\Illuminate\\Database\\Query\\Builder.php
在第 1337 行,您可以在addWhereExistsQuery
方法中找到以下代碼
$this->wheres[] = compact('type', 'operator', 'query', 'boolean');
你只需刪除'operator'
參數。
感謝這個鏈接: compact(): Undefined variable: operator現在我的 Laravel 測試項目博客上線了。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.