mar*_*npd 4 php laravel composer-php php-7
在我执行时php -v,它说它有php7
但是当我尝试执行时 composer update
它的回应
Your requirements could not be resolved to an installable set of packages.
Problem 1
- This package requires php >=7.0.0 but your PHP version (5.6.33) does not satisfy that requirement.
Run Code Online (Sandbox Code Playgroud)
我怎样才能解决这个问题?注意:我不允许卸载以前版本的php
这是composer.json
{
"name": "laravel/laravel",
"description": "The Laravel Framework.",
"keywords": ["framework", "laravel"],
"license": "MIT",
"type": "project",
"require": {
"php": ">=7.0.0",
"fideloper/proxy": "~3.3",
"intervention/image": "^2.4",
"laravel/framework": "5.5.*",
"laravel/passport": "^v1",
"laravel/tinker": "~1.0"
},
"require-dev": {
"filp/whoops": "~2.0",
"fzaninotto/faker": "~1.4",
"mockery/mockery": "0.9.*",
"phpunit/phpunit": "~6.0"
},
"autoload": {
"classmap": [
"database/seeds",
"database/factories"
],
"psr-4": {
"App\\": "app/"
},
"files": [
"app/Helpers/misc.php"
]
},
"autoload-dev": {
"psr-4": {
"Tests\\": "tests/"
}
},
"extra": {
"laravel": {
"dont-discover": [
]
}
},
"scripts": {
"post-root-package-install": [
"@php -r \"file_exists('.env') || copy('.env.example', '.env');\""
],
"post-create-project-cmd": [
"@php artisan key:generate"
],
"post-autoload-dump": [
"Illuminate\\Foundation\\ComposerScripts::postAutoloadDump",
"@php artisan package:discover"
]
},
"config": {
"preferred-install": "dist",
"sort-packages": true,
"optimize-autoloader": true
}
}
Run Code Online (Sandbox Code Playgroud)
我已经试过了
composer update --ignore-platform-reqs
Run Code Online (Sandbox Code Playgroud)
但我仍然得到另一个错误,这又与上述问题有关.
如问题中所述,您已经在系统上安装了两个版本的PHP,因为Laravel使用cli版本,您需要启用7.X并禁用5.X.
您可以通过以下命令实现这一点
$ sudo a2dismod php5.6 // disable the loaded version
$ sudo a2enmod php7.0 // enable the desired version
$ sudo service apache2 restart // restart apache to get it in action
Run Code Online (Sandbox Code Playgroud)
有关详细信息您可以使用以下命令安装不同版本的PHP
对于Apache
$ sudo apt install php5.6 [PHP 5.6]
$ sudo apt install php7.0 [PHP 7.0]
$ sudo apt install php7.1 [PHP 7.1]
Run Code Online (Sandbox Code Playgroud)
对于Ngix
$ sudo apt install php5.6-fpm [PHP 5.6]
$ sudo apt install php7.0-fpm [PHP 7.0]
$ sudo apt install php7.1-fpm [PHP 7.1]
Run Code Online (Sandbox Code Playgroud)
要安装任何PHP模块,只需指定PHP版本并使用自动完成功能查看所有模块,如下所示.
------------ press Tab key for auto-completion ------------
$ sudo apt install php5.6
$ sudo apt install php7.0
$ sudo apt install php7.1
Run Code Online (Sandbox Code Playgroud)
现在,您可以根据自己的要求安装大多数必需的PHP模块.
------------ Install PHP Modules ------------
$ sudo apt install php5.6-cli php5.6-xml php5.6-mysql
$ sudo apt install php7.0-cli php7.0-xml php7.0-mysql
$ sudo apt install php7.1-cli php7.1-xml php7.1-mysql
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4106 次 |
| 最近记录: |