拉git后出现Laravel致命错误
我在laravel中运行composer.json,出现以下错误:拉git后出现Laravel致命错误,git,laravel,laravel-5,composer-php,Git,Laravel,Laravel 5,Composer Php,我在laravel中运行composer.json,出现以下错误: Problem 1 - Installation request for doctrine/inflector v1.3.0 -> satisfiable by doctrine/inflector[v1.3.0]. - doctrine/inflector v1.3.0 requires php ^7.1 -> your PHP version (5.6.35) does not satisfy t
Problem 1
- Installation request for doctrine/inflector v1.3.0 -> satisfiable by doctrine/inflector[v1.3.0].
- doctrine/inflector v1.3.0 requires php ^7.1 -> your PHP version (5.6.35) does not satisfy that requirement.
Problem 2
- Installation request for symfony/event-dispatcher v4.0.4 -> satisfiable by symfony/event-dispatcher[v4.0.4].
- symfony/event-dispatcher v4.0.4 requires php ^7.1.3 -> your PHP version (5.6.35) does not satisfy that requirement.
Problem 3
- Installation request for doctrine/instantiator 1.1.0 -> satisfiable by doctrine/instantiator[1.1.0].
- doctrine/instantiator 1.1.0 requires php ^7.1 -> your PHP version (5.6.35) does not satisfy that requirement.
Problem 4
- Installation request for phpdocumentor/reflection-docblock 4.3.0 -> satisfiable by phpdocumentor/reflection-docblock[4.3.0].
- phpdocumentor/reflection-docblock 4.3.0 requires php ^7.0 -> your PHP version (5.6.35) does not satisfy that requirement.
Problem 5
- Installation request for phpunit/php-token-stream 2.0.2 -> satisfiable by phpunit/php-token-stream[2.0.2].
- phpunit/php-token-stream 2.0.2 requires php ^7.0 -> your PHP version (5.6.35) does not satisfy that requirement.
Problem 6
- Installation request for symfony/yaml v4.0.4 -> satisfiable by symfony/yaml[v4.0.4].
- symfony/yaml v4.0.4 requires php ^7.1.3 -> your PHP version (5.6.35) does not satisfy that requirement.
Problem 7
- doctrine/inflector v1.3.0 requires php ^7.1 -> your PHP version (5.6.35) does not satisfy that requirement.
- laravel/framework v5.4.36 requires doctrine/inflector ~1.1 -> satisfiable by doctrine/inflector[v1.3.0].
- Installation request for laravel/framework v5.4.36 -> satisfiable by laravel/framework[v5.4.36].
我理解这是由于本地主机和服务器的版本差异造成的。在本地主机上安装PHP7.0,在服务器上安装PHP5.6
我的composer.json文件是:
{
"name": "florientr/laravel-gentelella",
"description": "The Laravel 5.4 framework with Gentelella template",
"keywords": [
"framework",
"laravel",
"laravel 5.4",
"gentelella",
"laravel-gentelella",
"template",
"bootstrap",
"responsive",
"admin",
"php",
"html",
"css",
"taggable",
"gravatar",
"form html"
],
"license": "MIT",
"version": "4.2.0",
"type": "project",
"require": {
"php": ">=5.6.4",
"laravel/framework": "5.4.*",
"thomaswelton/laravel-gravatar": "~1.0",
"rtconner/laravel-tagging": "~2.2",
"laravelcollective/html": "^5.4",
"cartalyst/sentinel": "2.0.*",
"laracasts/flash": "^2.0",
"unisharp/laravel-ckeditor": "^4.6",
"maatwebsite/excel": "~2.1.0"
},
"require-dev": {
"fzaninotto/faker": "~1.4",
"mockery/mockery": "0.9.*",
"phpunit/phpunit": "~5.7",
"symfony/css-selector": "3.1.*",
"symfony/dom-crawler": "3.1.*"
},
"autoload": {
"classmap": [
"database"
],
"psr-4": {
"App\\": "app/"
},
"files": [
"app/Helpers/helpers.php"
]
},
"autoload-dev": {
"classmap": [
"tests/TestCase.php"
]
},
"scripts": {
"post-root-package-install": [
"php -r \"copy('.env.example', '.env');\""
],
"post-create-project-cmd": [
"php artisan key:generate"
],
"post-install-cmd": [
"Illuminate\\Foundation\\ComposerScripts::postInstall",
"php artisan optimize"
],
"post-update-cmd": [
"Illuminate\\Foundation\\ComposerScripts::postUpdate",
"php artisan optimize"
]
},
"config": {
"preferred-install": "dist"
}
}
问题是我无法升级我的服务器,因为它会破坏其他站点。如何在不升级php版本的情况下解决此问题。您可以使用设置强制在所有环境中使用PHP5.6包。在composer.json中设置此选项:
"config": {
"platform": {
"php": "5.6.37"
}
},
在您的开发环境上运行composer update
,并提交新的composer.lock
-它应该只包含与PHP 5.6兼容的包,因此您应该能够在服务器上安装它。一个解决方案是您可以在服务器上使用docker。您是否尝试过使用--忽略平台需求来运行composer命令?这将忽略PHP版本要求安装软件包。请参见,根据您使用的Web服务器,可以同时运行两个php版本。@JohnDoe确切的命令是什么?如果php版本是正确的,它不会产生任何问题吗different@D555例如,当您有一个新的安装时,您可以使用composer安装--ignore platform reqs
。它不会破坏任何东西,因为所有安装都在供应商目录中。