这个 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 11(带有惯性和 Vue)
所有积分均归@cantdocpp 我只是为寻找解决方案的人写的
如果你的 Laravel 项目在本地运行顺利并且你对细节很确定,请执行
npm run build
zip 你的 laravel 项目,在你的根目录中(不在公共 html 中)创建一个名为 laravel 的文件夹,上传并解压到那里
将 public 目录的内容移动到 public_html 中(但不要删除 laravel 文件夹内的空 public 文件夹)
然后创建数据库及其用户和密码,将数据库导入到 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 文件
你做到了!