Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/laravel/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Laravel 4,Composer和hybridauth-如何加载其他提供程序_Laravel_Laravel 4_Composer Php_Hybridauth_Steam Web Api - Fatal编程技术网

Laravel 4,Composer和hybridauth-如何加载其他提供程序

Laravel 4,Composer和hybridauth-如何加载其他提供程序,laravel,laravel-4,composer-php,hybridauth,steam-web-api,Laravel,Laravel 4,Composer Php,Hybridauth,Steam Web Api,我使用的是Laravel4,通过composer加载了hybridauth,并在Facebook和Twitter上运行良好。现在,我正试图让它与Steam一起工作,Steam被列为一个附加的提供者,但是我一直遇到以下错误: require_once(vendor/hybridauth/hybridauth/hybridauth/hybridauth/Providers/Steam.php)[function.require once]:打开流失败:没有这样的文件或目录 很明显,它找错了地方,实际

我使用的是Laravel4,通过composer加载了hybridauth,并在Facebook和Twitter上运行良好。现在,我正试图让它与Steam一起工作,Steam被列为一个附加的提供者,但是我一直遇到以下错误:

require_once(vendor/hybridauth/hybridauth/hybridauth/hybridauth/Providers/Steam.php)[function.require once]:打开流失败:没有这样的文件或目录

很明显,它找错了地方,实际的类位于以下位置:

供应商/hybridauth/hybridauth/additional providers/hybridauth steam/providers/steam.php

关于这一点,我能找到的文档很少,我唯一的猜测是hybridauth的作者只提供了这些额外的提供者作为可选的额外提供者,并希望您将类的位置移动到适当的位置,但是,对于composer,这不是执行操作的方法,并且在运行composer update时会导致问题

我在谷歌上找不到任何人有类似的问题,这看起来很奇怪,所以我担心我遗漏了明显的问题。在使用hybridauth和Composer时,有没有办法使用其他提供程序,让它们自动加载


我能想到的唯一解决方案是在尝试自动加载之前手动包含正确的文件。我不介意这样做,但我认为一定有一个正确的方法来实现这一点,否则将Composer与Hybridauth一起使用是毫无用处的。

我也搜索了很多次。我所能想到的是,它是在没有框架的情况下使用的,然后被移植到Composer中使用,但是“附加提供者”文件夹没有加载,或者其他什么。有点糟糕

我刚刚把文件复制到另一个目录,现在一切正常

这也许对你很方便

关于这一部分:

Copy the Steam.php file, located at:
laravel/vendor/hybridauth/hybridauth/additional-providers/hybridauth-steam/Providers/Steam.php

Over to:

laravel/vendor/hybridauth/hybridauth/hybridauth/Hybrid/Providers/

我不知道为什么库中会将它们分开,这对我来说没有任何意义。

我在Instagram中遇到了这个问题,并且能够使用包装器语法,这在这里有记录

下面的代码让Instagram适配器为我工作

           "Instagram" => array ( 
                "enabled" => true,
                "keys"    => array ( 
                    "id" => xxxx, 
                    "secret" => xxxx,
                ),
                "wrapper" => array(
                    'class'=>'Hybrid_Providers_Instagram',
                    'path' => $_SERVER['DOCUMENT_ROOT'].'/../vendor/hybridauth/hybridauth/additional-providers/hybridauth-instagram/Providers/Instagram.php'
                )
            ),

如果您阅读hybridauth/Hybrid/Provider_Adapter.php第69行的源代码,您将看到它在使用标准路径执行require_之前检查此代码。

显然库有问题。干杯,这会导致编写器更新出现问题吗?不,我没有任何问题。虽然我猜如果Steam.php文件得到更新,它不会在您的项目中更新,但您必须再次进行更新。我试图联系开发人员,但没有得到任何回复。