【问题标题】:laravel 5 with omnipay composer update issue带有omnipay composer更新问题的laravel 5
【发布时间】:2015-10-27 02:14:04
【问题描述】:

作曲家更新后我得到以下错误

( ! ) Fatal error: Uncaught exception 'ReflectionException' with message 'Class App\Http\Kernel does not exist' in D:\wamp\www\gastrodr\vendor\laravel\framework\src\Illuminate\Container\Container.php on line 779
( ! ) ReflectionException: Class App\Http\Kernel does not exist in D:\wamp\www\gastrodr\vendor\laravel\framework\src\Illuminate\Container\Container.php on line 779

composer.json:我从 GIT 存储库的 ignited/laravel-omnipay 获得

{
    "name": "ignited/laravel-omnipay",
    "description": "Integerates Omnipay with Laravel and provides an easy configuration.",
    "keywords": ["omnipay", "payments", "laravel", "laravel5"],
    "authors": [
        {
            "name": "Alex Whiteside",
            "email": "alexwhiteside@ignitedlabs.com.au"
        }
    ],
    "require": {
        "php": ">=5.4.0",
        "illuminate/support": "~5",
        "omnipay/common": "2.3.*"
    },
    "autoload": {
        "psr-0": {
            "Ignited\\LaravelOmnipay": "src/"
        }
    },
    "extra": {
        "branch-alias": {
            "dev-master": "2.0-dev"
        }
    },
    "minimum-stability": "dev"
}

请建议我解决这个问题

=======

更新

PaymentController - 用于支付宝配置

namespace App\Http\Controllers;
use Omnipay\Omnipay;
use App\Http\Controllers\Controller;
use Illuminate\Support\Facades\Input;
use Session;
class PaymentController extends Controller
{
    private $data;
    public function getIndex()
    {   
        $this->data['product'] = 'Aurvana Platinum';
        $this->data['productImage'] = 'http://img.creative.com/images/products/large/pdt_21734.png.ashx?width=200';
        $this->data['price'] = '299.00';
        $this->data['currency'] = 'USD';
        $this->data['description'] = 'Flagship Over-the-ear Bluetooth® Headset with NFC';
        return View('hello', $this->data);
    }

    public function postPayment() 
    {
            $params = array(
                    'cancelUrl'     => 'http://localhost/cancel_order',
                    'returnUrl'     => 'http://localhost/payment_success', 
                    'name'      => Input::get('name'),
                    'description'   => Input::get('description'), 
                    'amount'    => Input::get('price'),
                    'currency'  => Input::get('currency')
            );

            Session::put('params', $params);
            Session::save();  

        $gateway = Omnipay::create('PayPal_Express');
        $gateway->setUsername('paypal account');
        $gateway->setPassword('paypal password');
        $gateway->setSignature('AiPC9BjkCyDFQXbSkoZcgqH3hpacASJcFfmT46nLMylZ2R-SV95AaVCq');
        $gateway->setTestMode(true);
        $response = $gateway->purchase($params)->send();
            if ($response->isSuccessful()) {

                // payment was successful: update database
                print_r($response);
        } elseif ($response->isRedirect()) {

【问题讨论】:

  • 你的 Laravel 的 composer.json 文件的内容是什么?
  • @Muhammad Sumon Molla Selim 我已经把它放在我的问题上检查我发布的代码
  • 是Omnipay包的composer.json文件的内容。你的 Laravel 5 的 composer.json 在哪里?
  • 我用omni composer替换了那个代码我错了吗? @Muhammad Sumon Molla Selim 我删除了 laravel 作曲家并在那里添加了这些行并做了作曲家更新
  • @Muhammad Sumon Molla Selim 请建议怎么做...我所做的是在 config/app.php 上进行了更改,如提到的服务提供者和别名并替换作曲家...请建议

标签: php laravel-5.1 omnipay


【解决方案1】:

用这些替换 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.*", "ignited/laravel-omnipay": "2.*" }, "require-dev": { "fzaninotto/faker": "~1.4", "mockery/mockery": "0.9.*", "phpunit/phpunit": "~4.0", "phpspec/phpspec": "~2.1" }, "autoload": { "classmap": [ "database" ], "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" } }

然后运行 ​​composer installcomposer update

【讨论】:

  • Sumon Molla 感谢我现在在命令行上收到此错误 [Symfony\Component\Debug\Exception\FatalErrorException] Class 'Ignite\LaravelOmnipay\LaravelOmnipayServiceProvider' not found
  • 移除你在app.php文件中添加的服务提供者。然后运行安装和更新。之后在 app.php 文件中添加服务提供者和别名。希望这会奏效。
  • 好的,我可以知道在哪里放置 \Ignite\LaravelOmnipay 文件夹
  • 您不需要做任何事情或手动放置任何文件夹。 Composer 已经为您完成了这项工作。您只需在 config/app.php 文件中添加服务和别名。那你就可以走了:)
  • 现在一切正常.. 我现在收到此错误 :( PaymentController.php 第 34 行中的 FatalErrorException:找不到类 'Omnipay\Omnipay' 检查我的问题,我更新了控制器
猜你喜欢
  • 2017-10-27
  • 2016-01-26
  • 1970-01-01
  • 2015-08-15
  • 2020-09-23
  • 2019-05-29
  • 1970-01-01
  • 2015-10-23
  • 2016-06-19
相关资源
最近更新 更多