#php #laravel #paypal #laravel-5 #laravel-5.3
#php #laravel #paypal #laravel-5 #laravel-5.3
Вопрос:
Я хочу интегрировать paypal в свой проект Laravel 5.3. Я хочу использовать пакет sger / laravel-paypal.
Когда я использую composer require sger / laravle-paypal для установки этого пакета, composer сообщает мне об этих ошибках:
Using version ^0.1.0 for sger/laravel-paypal
./composer.json has been updated
> php artisan clear-compiled
Loading composer repositories with package information
Warning: Accessing php-repo.foticos.com over http which is an insecure protocol.
Updating dependencies (including require-dev)
Your requirements could not be resolved to an installable set of packages.
Problem 1
- Installation request for sger/laravel-paypal ^0.1.0 -> satisfiable by sger/laravel-paypal[0.1].
- sger/laravel-paypal 0.1 requires paypal/rest-api-sdk-php 1.7.* -> satisfiable by paypal/rest-api-sdk-php[1.7.2, 1.7.3, 1.7.4, v1.7.0, v1.7.1].
- paypal/rest-api-sdk-php 1.7.2 requires psr/log 1.0.0 -> satisfiable by psr/log[1.0.0].
- paypal/rest-api-sdk-php 1.7.3 requires psr/log 1.0.0 -> satisfiable by psr/log[1.0.0].
- paypal/rest-api-sdk-php 1.7.4 requires psr/log 1.0.0 -> satisfiable by psr/log[1.0.0].
- paypal/rest-api-sdk-php v1.7.0 requires psr/log 1.0.0 -> satisfiable by psr/log[1.0.0].
- paypal/rest-api-sdk-php v1.7.1 requires psr/log 1.0.0 -> satisfiable by psr/log[1.0.0].
- Conclusion: don't install psr/log 1.0.0
Installation failed, reverting ./composer.json to its original content.
Это мой файл composer.json:
{
"name": "laravel/laravel",
"description": "The Laravel Framework.",
"keywords": ["framework", "laravel"],
"license": "MIT",
"type": "project",
"repositories": [ { "type": "composer", "url": "http://php-repo.foticos.com" } ],
"require": {
"php": ">=5.5.9",
"laravel/framework": "5.3.*",
"foticos/foti_api_client": "*@dev",
"foticos/laravel_foti_api": "*@dev",
"foticos/laravel_foti_webutils": "*@dev",
"barryvdh/laravel-debugbar" : "2.*",
"predis/predis" : "~1.1@dev",
"stripe/stripe-php": "^3.14",
"guzzlehttp/guzzle": "~4.0"
},
"require-dev": {
"fzaninotto/faker": "~1.4",
"mockery/mockery": "0.9.*",
"phpunit/phpunit": "~4.0",
"phpspec/phpspec": "~2.1",
"symfony/dom-crawler": "~3.0",
"symfony/css-selector": "~3.0"
},
"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",
"secure-http" : false
}
}
Комментарии:
1. попробуйте эту команду: «composer требует psr / log» перед этим
Ответ №1:
Вот как мне удалось его установить:
$ composer require psr/log 1.0.0
$ composer require paypal/rest-api-sdk-php 1.7.*
$ composer require sger/laravel-paypal 0.1.0
Примечание:
- paypal / rest-api-sdk-php 1.7. * требуется psr / log 1.0.0 -> выполняется с помощью psr /log[1.0.0]
- для sger / laravel-paypal 0.1 требуется
paypal / rest-api-sdk-php 1.7.*
Ответ №2:
Как указано в сообщении об ошибке, для пакета, который вы пытаетесь установить, требуется версия 1.0.0 psr/log
, если вы проверите в своем composer.lock
файле все другие запросы пакета, который у вас уже был ^1.0
, или ~1.0
его версию, на момент написания этой статьи это разрешилось бы 1.1.0
. Учитывая, что пакет, который вы пытаетесь потребовать, требует именно 1.0.0, теперь весь ваш набор правил требований будет разрешен 1.0.0
, вы можете просто сначала удалить свой composer.lock
файл и папку поставщика, затем добавить "sger/laravel-paypal": "^0.1.0",
к требованиям в свой composer.json-файл, а затем снова выполнить composer install.