亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何在 cPanel 共享主機上上傳 laravel 項目?

如何在 cPanel 共享主機上上傳 laravel 項目?

PHP
開心每一天1111 2022-12-30 17:36:51
我正在使用 cPanel 為我的網站上傳一個簡單的訂閱頁面。我將文件上傳到public_html,將文件從public文件夾中移出并修改index.php使其指向應用程序。我用來編寫此應用程序的 PHP 版本是7.3,但我必須在主機中選擇 7.2 版本,因為這是最新的可用版本。當我加載我的網站時,出現此錯誤“此頁面無法正常工作 bazzaar.net 目前無法處理此請求。HTTP 錯誤 500”當我從 index.php 文件中刪除所有內容并添加一個簡單的回顯時,頁面加載。我真的需要幫助。錯誤日志如下:堆棧跟蹤:#0 /home3/bazzaar/public_html/vendor/symfony/http-foundation/Response.php(198): Symfony\Component\HttpFoundation\Response->setStatusCode(500)#1 /home3/bazzaar/public_html/vendor/symfony/http-foundation/Response.php(214): Symfony\Component\HttpFoundation\Response->__construct('<!doctype html>...', 500, Array)#2 /home3/bazzaar/public_html/vendor/laravel/framework/src/Illuminate/Foundation/Exceptions/Handler.php(328): Symfony\Component\HttpFoundation\Response::create('<!doctype html>...', 500, Array)#3 /home3/bazzaar/public_html/vendor/laravel/framework/src/Illuminate/Foundation/Exceptions/Handler.php(305): Illuminate\Foundation\Exceptions\Handler->convertExceptionToResponse(Object(Symfony\Component\Er in /home3/bazzaar/public_html/vendor/symfony/http-foundation/Response.php on line 450我的.htacess 文件suPHP_ConfigPath /opt/php72/lib選項 -MultiViews -IndexesRewriteEngine On# Handle Authorization HeaderRewriteCond %{HTTP:Authorization} .RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]# Redirect Trailing Slashes If Not A Folder...RewriteCond %{REQUEST_FILENAME} !-dRewriteCond %{REQUEST_URI} (.+)/$RewriteRule ^ %1 [L,R=301]# Send Requests To Front Controller...RewriteCond %{REQUEST_FILENAME} !-dRewriteCond %{REQUEST_FILENAME} !-fRewriteRule ^ index.php [L]# 默認使用 PHP72
查看完整描述

7 回答

?
忽然笑

TA貢獻1806條經驗 獲得超5個贊

假設 cpanel 沒有其他網站,并且您的 laravel 項目應該是默認項目。

  1. 壓縮整個 Laravel 項目并將數據庫導出到 sql

  2. 登錄到 cPanel 并導航到文件管理器

  3. 確保您位于根文件夾中,然后單擊“上傳”

  4. 選擇您的 zip 文件并等待上傳完成

  5. 解壓上傳的文件

  6. 將 public 的內容移動到public_html文件夾

  7. 返回 Cpanel 并導航到數據庫

  8. 創建數據庫并添加(如果不存在則創建)數據庫用戶

  9. 單擊您的新數據庫,然后單擊“導入”

  10. 選擇導出的 SQL 文件

  11. 嘗試使用域 url 訪問您的 laravel 網站

該網站可能會提供更多詳細信息https://dev.to/asapabedi/deploying-laravel-5-applications-on-shared-hosting-without-the-use-of-ssh--16a6


查看完整回答
反對 回復 2022-12-30
?
白板的微信

TA貢獻1883條經驗 獲得超3個贊

你不需要改變 Laravel 的結構。只需復制下面的 htaccess 代碼并粘貼到 laravel 項目根目錄下的 .htaccess 文件中。


<IfModule mod_rewrite.c>

    RewriteEngine On

    RewriteBase /

    RewriteRule ^$ public/index.php [L]

    RewriteRule ^((?!public/).*)$ public/$1 [L,NC]

</IfModule>


查看完整回答
反對 回復 2022-12-30
?
料青山看我應如是

TA貢獻1772條經驗 獲得超8個贊

如果您使用的是 Apache 服務器,您可以執行以下簡單步驟


第 1 步:只需將所有源代碼上傳到服務器(確保數據庫和 .env 設置正確)i)制作 zip 并解壓縮 ii)使用 git 部署代碼或從存儲庫中克隆并安裝所有依賴項


第 2 步:在項目根目錄下創建一個 .htaccess 文件,復制以下代碼并將其粘貼到該文件中。


<IfModule mod_rewrite.c>

<IfModule mod_negotiation.c>

    Options -MultiViews

</IfModule>

RewriteEngine On

RewriteCond %{REQUEST_FILENAME} -d [OR]

RewriteCond %{REQUEST_FILENAME} -f

RewriteRule ^ ^$1 [N]

RewriteCond %{REQUEST_URI} (\.\w+$) [NC]

RewriteRule ^(.*)$ public/$1 

RewriteCond %{REQUEST_FILENAME} !-d

RewriteCond %{REQUEST_FILENAME} !-f

RewriteRule ^ server.php

我從這個視頻中得到了這個答案,所以請對他說聲謝謝 https://www.youtube.com/watch?v=6Qbd9HTh7AE(謝謝)


查看完整回答
反對 回復 2022-12-30
?
慕田峪9158850

TA貢獻1794條經驗 獲得超8個贊

按著這些次序:

  1. 檢查根或子域上的 .htaccess 文件。

  2. 如果將 public 文件移動到 root => 將 index.php 內容 /../ 更改為 /

例如

需要DIR .'/../vendor/autoload.php';

需要DIR .'/vendor/autoload.php';

$app = require_once DIR .'/../bootstrap/app.php';

$app = require_once DIR .'/bootstrap/app.php';

  1. 檢查 php 版本(在 laravel 6+ 上我使用 php7.4 并解決了問題)

  2. 檢查 .env 文件



查看完整回答
反對 回復 2022-12-30
?
慕的地10843

TA貢獻1785條經驗 獲得超8個贊

這對我有用:

  1. 將 cpanel 的 php 版本更新為 laravel 版本的要求,比如 laravel 7.0 需要https://laravel.com/docs/7.x/installation

  2. 檢查是否安裝了所有必需的擴展

  3. 然后,如果您在使用 .htacess 時遇到問題,我建議您通過...
    創建一個簡單的 index.html進行測試,
    只需添加一行

    你好世界

    然后將所有文件壓縮到你的 public_html(包括 .htaccess)中并上傳 index.html
    刷新目標 url 說 domain.com
    當它工作時你準備好進行下一步
    (如果它不嘗試調試/找出原因)


  4. 通過...上傳您的數據庫(假設它已經導出)
    轉到MySQL數據庫
    創建一個數據庫,其中包含要添加的數據庫的確切名稱
    然后創建一個MySQL用戶并給他數據庫的所有權限
    轉到cpanel中的phpmyadmin并導入導出的sql文件

  5. 壓縮您的工作 laravel 項目并將其上傳到主文件夾

  6. 在 cpanel 提取和...
    請注意:
    將所有文件夾放在 public 的主頁
    選擇內容中,包括 .htaccess 到 public_html

文件夾和文件結構應該與您計算機上的 LARAVEL 項目相同(除了 public 現在是 public_html)

警告:不要觸摸你的 index.php 或 server.php

  1. 使隱藏文件在您的 cpanel 中可見,然后最后通過...編輯 .env 文件...
    僅編輯數據庫用戶名和密碼(我希望數據庫名稱相同)
    您還希望將 APP_DEBUG 保留為 true 以進行測試(您必須測試)
    當一切都很好時將其更改為 false

  2. 如果你沒有數據庫,什么已經在等待刷新了
    即使有數據庫現在也需要刷新


查看完整回答
反對 回復 2022-12-30
?
慕蓋茨4494581

TA貢獻1850條經驗 獲得超11個贊

我為 Laravel 8 和 9 版本獲得了一個有效的、不那么痛苦的系統??梢躁P注,希望對你有幫助:

  1. 公共文件夾中,您將獲得總共 4 個文件。.htaccess、favicon.ico、index.phprobots.txt。

  2. 只需將所有這些文件移動到應用程序的根目錄,也就是說,在公共文件夾之外。

  3. 使用編輯器打開index.php文件并更改 2 行。更改此行:

require __DIR__.'/../vendor/autoload.php';

到:

require __DIR__.'/vendor/autoload.php';

并更改此行:

$app = require_once __DIR__.'/../bootstrap/app.php';

到:

$app = require_once __DIR__.'/bootstrap/app.php';
  1. 如果您在應用程序中使用了公用文件夾中的圖像您將看到在整個應用程序中,您的圖像沒有顯示。

  2. 所以現在轉到.env文件并添加這一行:

     ASSET_URL=public
  3. 所有任務都完成了!

現在只需將您的應用程序上傳到共享服務器即可正常運行。


查看完整回答
反對 回復 2022-12-30
?
蠱毒傳說

TA貢獻1895條經驗 獲得超3個贊

  1. 在您的主機上創建一個名為public_html/myapp的新目錄。

  2. 在你的 Laravel 項目中,你有一個公共目錄。將該公共目錄的內容復制到您在主機上創建的public_html/myapp目錄中。

  3. 在與public_html文件夾相同的級別(不在其中?。?,在您的主機上創建一個名為myapp-laravel的新目錄。

  4. 除了public文件夾,將 Laravel 項目中的每個文件夾和文件(例如app文件夾、.env文件等)復制到主機上的myapp-laravel文件夾中。

  5. 像這樣編輯public_html/myapp/index.php文件:

  • 變更要求

    __ DIR__.'/../vendor/autoload.php';

    要求

    __ DIR__.'/../../myapp-laravel/vendor/autoload.php';
  • 改變

    require_once __ DIR__.'/../bootstrap/app.php';

    require_once __ DIR__.'/../../myapp-laravel/bootstrap/app.php';

在此處查找文章。


查看完整回答
反對 回復 2022-12-30
  • 7 回答
  • 0 關注
  • 230 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號