Laravel部署 - 致命错误:在字符串上调用成员函数make()



我正在尝试删除 laravel 应用程序(Laravel 5.4.36),我将公共目录的内容上传到public_html,其他文件夹上传到我的托管用户名的根页脚中。

索引.php路径被修改为加载引导.php自动加载和引导/应用程序.php我确保索引.php有权访问这些文件。

问题是我在尝试访问索引时收到此消息.php

Fatal error: Uncaught Error: Call to a member function make() on string in /home/myuser/public_html/index.php:54 Stack trace: #0 {main} thrown in /home/myuser/public_html/index.php on line 54

这里提到的行是

$kernel = $app->make(IlluminateContractsHttpKernel::class);

我还尝试了几个 php 版本,7.1、7.2 和 7.3。 我在共享服务器上使用 Apache 和 Cpanel,但我也有对该服务器的 root 访问权限,因此我可以重新配置所需的内容。

我按照本教程 https://www.youtube.com/watch?v=6g8G3YQtQt4

我发现了问题

$app是字符串,我不知何故将其更改为字符串,因此

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

它是

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

您可以按照以下步骤解决问题

  1. 为您的拉拉维尔项目创建一个新文件夹。

  2. 然后上传其中的所有内容,包括公共文件夹,而不更改路径

  3. 按照以下步骤将根文件夹更改为/public

https://tecadmin.net/how-to-change-document-root-of-primary-domain-in-cpanel/

要更改主/主域,您需要具有根SSH访问权限,并且能够找到和编辑以下文件(替换您的用户和域信息):

/var/cpanel/userdata/USERNAME/DOMAIN.COM 1.打开文件后,查找以下行:

documentroot:/home/USERNAME/public_html 2.根据您的需要修改位置。保存并退出。

  1. 重建 Apache 会议并重新启动 Apache:

/scripts/rebuildhttpdconf 服务 httpd 重新启动 更改将是立竿见影的。只需清除浏览器缓存并强制刷新页面!

或者,您还有另一种选择,只需上传public_html旁边的Laravel文件夹以及public_html中Laravel公共文件夹中的所有文件,而无需更改路径

最新更新