在共享主机上使用 breeze 和 laratrust 部署 laravel 8
Deploying laravel 8 with breeze and laratrust on Shared Hosting
我正在 尝试将我使用 laravel 8、Laravel Breeze 和 laratrust 新创建的项目部署到我的共享主机托管公司。在子域中。
除了安装这些软件包,我还没有做任何其他事情。
域名:myappdomain.com
我正在尝试部署的子域:测试。myappdomain.com
在我的本地机器上, 使用“uWamp”或“php artisan 服务”,一切正常。 我可以正常登录和注册。
当我将我的项目上传到托管商的public_html/testing/时,会显示laravel的index.php,但是我无法访问 testing.myappdomain.com/login 或/注册。我收到 404。
我是这样做的:
我在我的本地机器上压缩了我的整个 www/ 目录,并将它上传到 Hostinger,在我域的 public_html/testing 文件夹中。
我解压缩包并将所有文件移回 1 个目录,以便它们位于 public_html/testing 而不是 public_html/zipFileName/testing
我用我的域的新正确值更新了 .env 文件:
APP_URL=https://testing.myappdomain.com
- 我在 public_html/testing 中添加一个 .htaccess 文件并添加这一行,以使用 laravel 的 public 文件夹。
DirectoryIndex public/index.php
- 我在我的浏览器中访问测试。myappdomain.com 并显示 Laravel 的默认索引页面。但是当我点击默认登录按钮或由[=89=添加的注册按钮]时,我得到一个页面未找到 404.
这里是在共享主机中托管 Laravel 应用程序的步骤。
- 编辑 .env 文件并添加新的部署域 (testing.myappdomain.com)
- 添加数据库用户名、密码和名称(在您的主机中使用的详细信息)
- 运行 php artisan config:cache
- 运行 php artisan view:cache
- 运行 php artisan route:cache
- 压缩所有文件并上传到子域目录并解压
- 转到主机的子域管理器并将域根指向提取的 Laravel 文件夹中的 public 文件夹
如果您没有 ssh 访问权限,这是最简单的方法。如果您有 ssh 访问权限,则可以使用 github 进行部署。
编辑:如果您无法更改文档根目录,
- 将您的 public 文件夹内容移动到 public_html 文件夹(域的根文件夹)
- 通过添加包含您的文件的文件夹来修改 index.php
require __DIR__.’/../bootstrap/autoload.php’;
$app = require_once __DIR__.’/../bootstrap/app.php’;
到
require __DIR__.’/../myLaravelProject/bootstrap/autoload.php’;
$app = require_once __DIR__.’/../myLaravelProject/bootstrap/app.php’;
(我的Laravel项目是位于public_html外的文件夹,你的laravel项目已上传到此)
我成功了!在 hostinger-cpanel 中没有更改文档根目录的明确方法。
我不得不删除子域并重新创建它。
默认情况下,cPanel 以这种方式为您生成文档根目录:
public_html/subdomainName
我不得不勾选“子域的自定义文件夹”框并将其更改为
public_html/subdomainName/public
我正在 尝试将我使用 laravel 8、Laravel Breeze 和 laratrust 新创建的项目部署到我的共享主机托管公司。在子域中。
除了安装这些软件包,我还没有做任何其他事情。
域名:myappdomain.com
我正在尝试部署的子域:测试。myappdomain.com
在我的本地机器上, 使用“uWamp”或“php artisan 服务”,一切正常。 我可以正常登录和注册。
当我将我的项目上传到托管商的public_html/testing/时,会显示laravel的index.php,但是我无法访问 testing.myappdomain.com/login 或/注册。我收到 404。
我是这样做的:
我在我的本地机器上压缩了我的整个 www/ 目录,并将它上传到 Hostinger,在我域的 public_html/testing 文件夹中。
我解压缩包并将所有文件移回 1 个目录,以便它们位于 public_html/testing 而不是 public_html/zipFileName/testing
我用我的域的新正确值更新了 .env 文件:
APP_URL=https://testing.myappdomain.com
- 我在 public_html/testing 中添加一个 .htaccess 文件并添加这一行,以使用 laravel 的 public 文件夹。
DirectoryIndex public/index.php
- 我在我的浏览器中访问测试。myappdomain.com 并显示 Laravel 的默认索引页面。但是当我点击默认登录按钮或由[=89=添加的注册按钮]时,我得到一个页面未找到 404.
这里是在共享主机中托管 Laravel 应用程序的步骤。
- 编辑 .env 文件并添加新的部署域 (testing.myappdomain.com)
- 添加数据库用户名、密码和名称(在您的主机中使用的详细信息)
- 运行 php artisan config:cache
- 运行 php artisan view:cache
- 运行 php artisan route:cache
- 压缩所有文件并上传到子域目录并解压
- 转到主机的子域管理器并将域根指向提取的 Laravel 文件夹中的 public 文件夹
如果您没有 ssh 访问权限,这是最简单的方法。如果您有 ssh 访问权限,则可以使用 github 进行部署。
编辑:如果您无法更改文档根目录,
- 将您的 public 文件夹内容移动到 public_html 文件夹(域的根文件夹)
- 通过添加包含您的文件的文件夹来修改 index.php
require __DIR__.’/../bootstrap/autoload.php’;
$app = require_once __DIR__.’/../bootstrap/app.php’;
到
require __DIR__.’/../myLaravelProject/bootstrap/autoload.php’;
$app = require_once __DIR__.’/../myLaravelProject/bootstrap/app.php’;
(我的Laravel项目是位于public_html外的文件夹,你的laravel项目已上传到此)
我成功了!在 hostinger-cpanel 中没有更改文档根目录的明确方法。 我不得不删除子域并重新创建它。 默认情况下,cPanel 以这种方式为您生成文档根目录:
public_html/subdomainName
我不得不勾选“子域的自定义文件夹”框并将其更改为
public_html/subdomainName/public