【问题标题】:Laravel 5 - Custom Package "Class Not Found" When Pushed to HerokuLaravel 5 - 推送到 Heroku 时的自定义包“找不到类”
【发布时间】:2018-05-19 16:34:16
【问题描述】:

在将我的 Laravel 应用程序部署到 Heroku 时,我无法让自定义包正常工作。它在本地工作正常,但是当我推送时出现以下错误:

In ProviderRepository.php line 208: Class 'totalWebConnections\simpleBlog\simpleBlogServiceProvider' not found 

看起来服务器正在从我的composer文件中正确加载包,就在日志中的错误上方:

Installing totalwebconnections/simple-blog (1.0.0)

在我的 composer.json 中

"require": {
        "php": ">=5.6.4",
        "laravel/framework": "5.4.*",
        "laravel/tinker": "~1.0",
        "totalwebconnections/simple-blog": "1.0.0"
    },
    "require-dev": {
        "fzaninotto/faker": "~1.4",
        "mockery/mockery": "0.9.*",
        "phpunit/phpunit": "~5.0"
    },
    "autoload": {
        "classmap": [
            "database"
        ],
        "psr-4": {
            "App\\": "app/",
            "totalWebConnections\\simpleBlog\\": "vendor/totalWebConnections/simple-blog/src/"

        }
    },

然后在我的 app.php 中

    totalWebConnections\simpleBlog\simpleBlogServiceProvider::class,

我不确定是什么问题?

【问题讨论】:

  • 你能检查一下服务器是否使用了不同的php版本吗?
  • @utdev local 和 Heroku 都在运行 7.2.0

标签: php laravel heroku laravel-5


【解决方案1】:

我认为你应该仔细检查你的命名空间和文件名的大小写 - 例如,当你在 Windows 上部署时,它并不关心它是 simpleBlog 还是 SimpleBog,但是当部署到 Linux 服务器时,如果不是 100% 它将无法工作应该是一样的。

【讨论】:

  • 只要在这个库上实现同样的功能 - github.com/vhx/vhx-php -- use VHX\API; 在我本地的 Vagrant VM 中工作,但在 Heroku 上没有。根据文档应该是use VHX\Api;
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-09-15
  • 2011-11-16
  • 2014-01-25
  • 1970-01-01
  • 2023-04-03
  • 2013-08-09
相关资源
最近更新 更多