簡體   English   中英

Laravel 5 不支持共享主機

[英]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 內部服務器錯誤

我已經解決了相關的其他問題,但沒有答案引導我找到我的解決方案。 我已經完成了以下步驟

  • 將我的項目上傳到與 public_html 平行的根目錄
  • 更新到 project/public/index.php
  • 嘗試創建指向我的項目的子域但沒有成功

內部服務器錯誤

服務器遇到內部錯誤或配置錯誤,無法完成您的請求。

請通過 webmaster@techphant.techphant.com 聯系服務器管理員,告知他們此錯誤發生的時間以及您在此錯誤之前執行的操作。

服務器錯誤日志中可能提供有關此錯誤的更多信息。

此外,在嘗試使用 ErrorDocument 處理請求時遇到 500 Internal Server Error 錯誤。

我已經提到了這個鏈接laravel.io

最后,我在共享主機上完成了這項工作。 這就是我所做的

  1. 在正確配置的 localhost 中設置項目 Laravel 5
  2. 仔細檢查 PHP 5.4 的服務器配置(這是因為 .htaccess 文件上的每一個小改動都可能改變該配置)
  3. 在 public_html 的同一級別創建一個目錄,並將項目放在該文件夾中。
  4. 將public(L5)的內容直接放在public_html上(注意不要意外覆蓋.htaccess文件)

現在......這是“棘手的部分”......我看到了這個結構

郵件

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,但我發現這篇文章更有用,當然更簡單!

為什么我會收到 500 內部服務器錯誤消息?

就我而言,通過閱讀那篇文章,我從“錯誤頁面”中發現,不得為“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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM