7 回答
TA貢獻1806條經驗 獲得超5個贊
假設 cpanel 沒有其他網站,并且您的 laravel 項目應該是默認項目。
壓縮整個 Laravel 項目并將數據庫導出到 sql
登錄到 cPanel 并導航到文件管理器
確保您位于根文件夾中,然后單擊“上傳”
選擇您的 zip 文件并等待上傳完成
解壓上傳的文件
將 public 的內容移動到
public_html文件夾返回 Cpanel 并導航到數據庫
創建數據庫并添加(如果不存在則創建)數據庫用戶
單擊您的新數據庫,然后單擊“導入”
選擇導出的 SQL 文件
嘗試使用域 url 訪問您的 laravel 網站
該網站可能會提供更多詳細信息https://dev.to/asapabedi/deploying-laravel-5-applications-on-shared-hosting-without-the-use-of-ssh--16a6
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>
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(謝謝)
TA貢獻1794條經驗 獲得超8個贊
按著這些次序:
檢查根或子域上的 .htaccess 文件。
如果將 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';
檢查 php 版本(在 laravel 6+ 上我使用 php7.4 并解決了問題)
檢查 .env 文件
TA貢獻1785條經驗 獲得超8個贊
這對我有用:
將 cpanel 的 php 版本更新為 laravel 版本的要求,比如 laravel 7.0 需要https://laravel.com/docs/7.x/installation
檢查是否安裝了所有必需的擴展
然后,如果您在使用 .htacess 時遇到問題,我建議您通過...
創建一個簡單的 index.html進行測試,
只需添加一行你好世界
然后將所有文件壓縮到你的 public_html(包括 .htaccess)中并上傳 index.html
刷新目標 url 說 domain.com
當它工作時你準備好進行下一步
(如果它不嘗試調試/找出原因)通過...上傳您的數據庫(假設它已經導出)
轉到MySQL數據庫
創建一個數據庫,其中包含要添加的數據庫的確切名稱
然后創建一個MySQL用戶并給他數據庫的所有權限
轉到cpanel中的phpmyadmin并導入導出的sql文件壓縮您的工作 laravel 項目并將其上傳到主文件夾
在 cpanel 提取和...
請注意:
將所有文件夾放在 public 的主頁
選擇內容中,包括 .htaccess 到 public_html
文件夾和文件結構應該與您計算機上的 LARAVEL 項目相同(除了 public 現在是 public_html)
警告:不要觸摸你的 index.php 或 server.php
使隱藏文件在您的 cpanel 中可見,然后最后通過...編輯 .env 文件...
僅編輯數據庫用戶名和密碼(我希望數據庫名稱相同)
您還希望將 APP_DEBUG 保留為 true 以進行測試(您必須測試)
當一切都很好時將其更改為 false如果你沒有數據庫,什么已經在等待刷新了
即使有數據庫現在也需要刷新
TA貢獻1850條經驗 獲得超11個贊
我為 Laravel 8 和 9 版本獲得了一個有效的、不那么痛苦的系統??梢躁P注,希望對你有幫助:
在公共文件夾中,您將獲得總共 4 個文件。.htaccess、favicon.ico、index.php和robots.txt。
只需將所有這些文件移動到應用程序的根目錄,也就是說,在公共文件夾之外。
使用編輯器打開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';
如果您在應用程序中使用了公用文件夾中的圖像,您將看到在整個應用程序中,您的圖像沒有顯示。
所以現在轉到.env文件并添加這一行:
ASSET_URL=public
所有任務都完成了!
現在只需將您的應用程序上傳到共享服務器即可正常運行。
TA貢獻1895條經驗 獲得超3個贊
在您的主機上創建一個名為public_html/myapp的新目錄。
在你的 Laravel 項目中,你有一個公共目錄。將該公共目錄的內容復制到您在主機上創建的public_html/myapp目錄中。
在與public_html文件夾相同的級別(不在其中?。?,在您的主機上創建一個名為myapp-laravel的新目錄。
除了public文件夾,將 Laravel 項目中的每個文件夾和文件(例如app文件夾、.env文件等)復制到主機上的myapp-laravel文件夾中。
像這樣編輯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';
在此處查找文章。
- 7 回答
- 0 關注
- 230 瀏覽
添加回答
舉報
