在共享主机上部署 laravel 11(包括惯性和 vue)

问题描述 投票:0回答:1

这个 laravel 项目在本地运行顺利,但我不知道如何在服务器上运行它,我尝试了很多技巧,但没有任何效果

我将整个项目上传到根目录(public_html 上方的目录)上名为 laravel 的文件夹中,我做了有关数据库和 .env 的所有操作

然后我将 public 文件夹的内容移至 public_html 目录,并设置 index.php 中的路径

__DIR__.'/../laravel/vendor/autoload.php';
,以及引导和存储的路径

服务器在 liteSpeed 上运行,这里是 .httaccess 代码

<IfModule mod_rewrite.c>
<IfModule mod_negotiation.c>
    Options -MultiViews -Indexes
</IfModule>


RewriteEngine On

# Handle Authorization Header
RewriteCond %{HTTP:Authorization} .
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]

# Redirect Trailing Slashes If Not A Folder...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} (.+)/$
RewriteRule ^ %1 [L,R=301]

# Send Requests To Front Controller...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]

index.php

<?php

use Illuminate\Http\Request;

define('LARAVEL_START', microtime(true));

// Determine if the application is in maintenance mode...
if (file_exists($maintenance = __DIR__.'/../laravel/storage/framework/maintenance.php')) {
    require $maintenance;
}

// Register the Composer autoloader...
require __DIR__.'/../laravel/vendor/autoload.php'; // bootstrap folder of laravel is ther

// Bootstrap Laravel and handle the request...
(require_once __DIR__.'/../laravel/bootstrap/app.php')
    ->handleRequest(Request::capture())

;

但我仍然在网页上看到

 HTTP ERROR 500
,并且 siteurl/public 自动添加到 URL(/public)!

在 cPanel 内名为 error_log 的 txt 文件中,我得到

[15-Jun-2024 15:14:17 UTC] PHP Warning:  require(/home/klassir2/public_html/../laravel/vendor/autoload.php): Failed to open stream: No such file or directory in /home/klassir2/public_html/index.php on line 13

有人在共享主机上成功部署了laravel11和inertia.js吗?

谢谢你

laravel vue.js cpanel inertiajs
1个回答
0
投票

部署 Laravel 11(带有惯性和 Vue)

所有积分均归@cantdocpp 我只是为寻找解决方案的人写的

如果你的 Laravel 项目在本地运行顺利并且你对细节很确定,请执行

npm run build
zip 你的 laravel 项目,在你的根目录中(不在公共 html 中)创建一个名为 laravel 的文件夹,上传并解压到那里 enter image description here

将 public 目录的内容移动到 public_html 中(但不要删除 laravel 文件夹内的空 public 文件夹) enter image description here

然后创建数据库及其用户和密码,将数据库导入到 phpmyadmin 然后更新 .env

如果你使用mysql 将数据放入“”

DB_CONNECTION=mysql

DB_HOST=本地主机 DB_PORT=3306

DB_DATABASE="mydatabase"

DB_USERNAME=“用户”

DB_PASSWORD="密码"

然后更新public_html目录中的index.php

if (file_exists($maintenance = __DIR__.'/../laravel/storage/framework/maintenance.php')) {
require $maintenance;

}

// refering to that specific folder
require __DIR__.'/../laravel/vendor/autoload.php';

(require_once __DIR__.'/../laravel/bootstrap/app.php')

现在,如果您在浏览器中输入您的网站地址,您将得到

vite manifest not found at:
只需 copy 将 build 文件夹从 public_html 目录复制到 laravel 目录的 public 文件夹(你解压到那里),只保留 manifest.json 文件 enter image description here

你做到了!

© www.soinside.com 2019 - 2024. All rights reserved.