Php Laravel 5-未找到供应商-类别
我使用的是laravel analytics(),并在本地安装了所有组件,工作正常 但是,每当我尝试上传到服务器时,访问页面时会出现以下错误:Php Laravel 5-未找到供应商-类别,php,laravel-5,composer-php,Php,Laravel 5,Composer Php,我使用的是laravel analytics(),并在本地安装了所有组件,工作正常 但是,每当我尝试上传到服务器时,访问页面时会出现以下错误:Class'LaravelAnalytics'未找到,我试图通过以下方式访问:使用\LaravelAnalytics作为分析 我在本地和服务器上都使用linux操作系统。我还运行了:composer更新,现在得到:无需安装或更新 我已经检查了.json文件,我可以看到我试图安装的包就在那里 { "name": "laravel/laravel",
Class'LaravelAnalytics'未找到
,我试图通过以下方式访问:使用\LaravelAnalytics作为分析代码>
我在本地和服务器上都使用linux操作系统。我还运行了:composer更新
,现在得到:无需安装或更新
我已经检查了.json文件,我可以看到我试图安装的包就在那里
{
"name": "laravel/laravel",
"description": "The Laravel Framework.",
"keywords": ["framework", "laravel"],
"license": "MIT",
"type": "project",
"require": {
"php": ">=5.5.9",
"laravel/framework": "5.1.*",
"illuminate/html": "5.*",
"spatie/laravel-analytics": "^1.2"
},
"require-dev": {
"fzaninotto/faker": "~1.4",
"mockery/mockery": "0.9.*",
"phpunit/phpunit": "~4.0",
"phpspec/phpspec": "~2.1"
},
"autoload": {
"classmap": [
"database"
],
"files":
["app/Http/helpers.php"],
"psr-4": {
"App\\": "app/"
}
},
"autoload-dev": {
"classmap": [
"tests/TestCase.php"
]
},
"scripts": {
"post-install-cmd": [
"php artisan clear-compiled",
"php artisan optimize"
],
"pre-update-cmd": [
"php artisan clear-compiled"
],
"post-update-cmd": [
"php artisan optimize"
],
"post-root-package-install": [
"php -r \"copy('.env.example', '.env');\""
],
"post-create-project-cmd": [
"php artisan key:generate"
]
},
"config": {
"preferred-install": "dist"
}
}
有人知道我遗漏了什么或我错在哪里吗?将您的psr-4更改为:
"psr-4": {
"App\\": "app/",
"vendor\\spatie\\" : "spatie/"
}
希望这对您有用。您必须将类添加到别名中(或使用FQCN):
我面临着类似的问题。上传供应商/作曲家文件夹对我来说很有用 面对这个问题,我首先要感谢是谁让我走上了这条道路
根据,在安装了服务提供商和facade之后,我们必须执行以下命令:
php artisan vendor:publish --provider="Spatie\Analytics\AnalyticsServiceProvider"
这会导致以下错误:未找到类“Spatiale\Analytics\AnalyticsServiceProvider”
如果我们查看vendor/spatie/laravel analytics/src
,我们可以看到所需类的名称开头包含laravel string
解决方案:
因此,要解决此错误,我们需要更改从config/app.php
文件发出的调用:
提供者
部分。更改此项:
Spatie\Analytics\AnalyticsServiceProvider::class,
'Analytics' => Spatie\Analytics\AnalyticsFacade::class,
作者:
别名
部分,更改此选项:
Spatie\Analytics\AnalyticsServiceProvider::class,
'Analytics' => Spatie\Analytics\AnalyticsFacade::class,
作者:
然后,再次运行以下命令以使其工作(也添加了Laravel字符串):
然后转到config/
文件夹。您应该会看到一个名为laravel analytics.php
的文件
"require: {
"php": ">=5.5.9",
"laravel/framework": "5.1.*",
"illuminate/html": "5.*",
"spatie/laravel-analytics": "^1.2"**
}
看起来您使用的是PHP5.*,这就是为什么composer会拉取具有不同类的包的1.2版本
我一个月前也有同样的问题
您读取到安装包的read-me文件适用于PHP7.0的2.4版本
只需将PHP5.*更新为PHP7.*或获取软件包1.2版本的ReadMe文件即可正确安装软件包
有关详细信息,请参阅我的博客:我在创建自己的包时遇到了类似的问题。PHP风暴正在查找类,但当脚本启动时,显示状态500。原因很简单-确保来自供应商的包包含在composer.json中
"autoload": {
"classmap": [
"src/"
]
}
然后它将自动加载。您是否已将Spatiale\LaravelAnalytics\LaravelAnalytics服务提供商添加到提供商列表中?@Tim-是的,我已添加提供商和Alisase。@我遇到了相同的问题,你找到解决方案了吗?@riza-你能试试吗:php-artisan-dump-auto-load或clear-compiled-我想这对你有用me@Phorce实际上,我的问题是供应商包名称空间与其文件夹命名不同,当然,当我使用文件夹命名时,将找不到供应商类,现在它可以工作了。我已经添加了这个名称,但它不工作。我还运行了php composer update。。有什么想法吗?@Phorce在我遇到captcha插件和laravel 5.1的问题之前,我搜索了很多,直到我在composer.json中将这个路径添加到我的psr-4中:“vendor\\mews\\”:“mews/”,这对我来说很有用。@Phorce是的,我找到了。添加代码后运行composer Required Spatiale/laravel analytics
。我希望这有用。我添加了它,这不是问题,因为它在本地工作。我认为这应该是评论。是的,为我做的与其他答案相同,请编辑,说链接指向您的网站也,请不要复制和粘贴多个问题的相同答案。如果一个问题的答案与你之前发布的答案完全相同,那么它是重复的,应该作为一个问题关闭;因此,回答它会妨碍人们获得答案。
"require: {
"php": ">=5.5.9",
"laravel/framework": "5.1.*",
"illuminate/html": "5.*",
"spatie/laravel-analytics": "^1.2"**
}
"autoload": {
"classmap": [
"src/"
]
}