调用未定义的方法Maatwebsite\Excel\Facades\Excel::create() - Laravel 5.3

6 浏览
0 Comments

调用未定义的方法Maatwebsite\Excel\Facades\Excel::create() - Laravel 5.3

我正在使用Maatwebsite Laravel Excel来导出.xls文档。\n在我的\'localhost\'上它工作得很完美,但是当我尝试在生产环境中运行时,显示以下错误:\n

FatalThrowableError in Facade.php line 237:
Call to undefined method Maatwebsite\Excel\Facades\Excel::create()

\n我按照Laravel Excel中的所有安装说明进行操作。\n我也无法通过SSH在生产环境中运行\"composer update\",因为进程被\"终止\"了...我不知道为什么。\n我真的需要运行composer update吗?这是原因吗?\n我正在使用PHP 7.0和Laravel 5.3,所以我使用的是Laravel Excel 2.1版本,3版本只适用于Laravel >5.5。\n请帮帮我!\n提前感谢您的帮助。

0
0 Comments

解决方法:

  1. 运行命令 "php artisan config:clear" 后,错误变为:

    [screenshot][1]

  2. 我再次上传了 "config/app.php",然后出现以下提示:

    "Permission denied to write in "bootstrap/cache"

  3. 所以我运行命令 "sudo chmod -R 777 /bootstrap"

感谢您的帮助。

问题原因:

出现这个问题的原因是在Laravel 5.3版本中,使用了一个未定义的方法 "create()",而这个方法是在 "Maatwebsite\Excel\Facades\Excel" 类中被调用的。

解决方法:

为了解决这个问题,我们需要执行以下步骤:

  1. 首先,运行命令 "php artisan config:clear" 来清除配置缓存。
  2. 接下来,重新上传 "config/app.php" 文件。
  3. 然后,您可能会遇到 "Permission denied to write in "bootstrap/cache"" 的错误提示。为了解决这个问题,您可以运行命令 "sudo chmod -R 777 /bootstrap" 来赋予 "bootstrap" 文件夹写入权限。

通过执行上述步骤,您应该能够解决 "Call to undefined method Maatwebsite\Excel\Facades\Excel::create() - Laravel 5.3" 这个问题。

0
0 Comments

问题原因:在生产环境的app.php文件的providers数组中没有添加"Maatwebsite\Excel\Facades\Excel"的facade字符串。

解决方法:

1. 在本地环境(本机或开发虚拟机)中运行composer update命令。

2. 上传或git push composer.lock文件。

3. 在生产服务器上运行composer install命令。

将"Maatwebsite\Excel\ExcelServiceProvider::class"添加到providers数组中,并将'Excel' => Maatwebsite\Excel\Facades\Excel::class添加到aliases中。确保在服务器上运行composer update命令或上传与该包相关的确切文件。

感谢!问题是...当我尝试运行"composer update"时,进程被"Killed"。我已经在本地机器上运行了composer update命令。我通过Filezilla将composer.lock文件上传到服务器,但是当我尝试运行"composer install"时,终端显示"已删除编译的类文件"。

0