php - 即使我的 php 版本是 7.2.1,在 Laravel 6 composer update 中也出现 php 版本错误
问题描述
我下载了一个 laravel 6 演示项目并将其设置在我的 mac mamp 中。最初我的 php 版本是 7.1.23,我收到了这个错误。
Warning: require(/Applications/MAMP/htdocs/laravel_demo/public/../vendor/autoload.php): failed to open stream: No such file or directory in /Applications/MAMP/htdocs/laravel_demo/public/index.php on line 26
Fatal error: require(): Failed opening required '/Applications/MAMP/htdocs/laravel_demo/public/../vendor/autoload.php' (include_path='.:/Applications/MAMP/bin/php/php7.2.1/lib/php') in /Applications/MAMP/htdocs/laravel_demo/public/index.php on line 26
所以我通过重命名 mamp 中的旧 php 版本文件夹将我的 php 版本更改为 7.2.1。现在如果我运行phpinfo()
它显示 php 版本 7.2.1。但是当我composer update
在终端运行时,我收到了这个错误。
Problem 1
- This package requires php ^7.2 but your PHP version (7.1.23) does not satisfy that requirement.
Problem 2
- laravel/framework v6.4.0 requires php ^7.2 -> your PHP version (7.1.23) does not satisfy that requirement.
- laravel/framework v6.3.0 requires php ^7.2 -> your PHP version (7.1.23) does not satisfy that requirement.
- laravel/framework v6.2.0 requires php ^7.2 -> your PHP version (7.1.23) does not satisfy that requirement.
- laravel/framework v6.1.0 requires php ^7.2 -> your PHP version (7.1.23) does not satisfy that requirement.
- laravel/framework v6.0.4 requires php ^7.2 -> your PHP version (7.1.23) does not satisfy that requirement.
- laravel/framework v6.0.3 requires php ^7.2 -> your PHP version (7.1.23) does not satisfy that requirement.
- laravel/framework v6.0.2 requires php ^7.2 -> your PHP version (7.1.23) does not satisfy that requirement.
- laravel/framework v6.0.1 requires php ^7.2 -> your PHP version (7.1.23) does not satisfy that requirement.
- laravel/framework v6.0.0 requires php ^7.2 -> your PHP version (7.1.23) does not satisfy that requirement.
- laravel/framework 6.x-dev requires php ^7.2 -> your PHP version (7.1.23) does not satisfy that requirement.
- Installation request for laravel/framework ^6.0 -> satisfiable by laravel/framework[6.x-dev, v6.0.0, v6.0.1, v6.0.2, v6.0.3, v6.0.4, v6.1.0, v6.2.0, v6.3.0, v6.4.0].
这个问题与 laravel 设置或我的 php 版本有关,还是我在更新我的 php 版本时遗漏了什么?
解决方案
Laravel 6 需要 PHP >= 7.2.0 并且你的版本是 7.1.23。
在这种情况下会发生什么?
如果您phpinfo()
通过 http 服务器在浏览器上访问的文件运行。您的终端的输出可能不同。如果您的 HTTP 服务器(如 apache 或 nginx)上启用的 PHP 是最新的(7.2),则可能需要检查终端运行的版本php -v
。
在某些情况下,php 会更新到 http 服务器,但“cli”版本未更新并指向旧版本,这取决于系统更新的方式。
如果这种情况是你的情况,你需要检查是否php-cli
正确安装。
推荐阅读
- java - Android 应用程序在列出列表视图的项目时崩溃
- javascript - 如何在js中获取点粗体后的第一个单词
- ms-access - MS Access 数据库任务成本核算
- reactjs - 如果用户经过身份验证,如何在 next.js 中显示/隐藏菜单项
- arrays - Trying do deal with an object that can be an array or a number
- c - 如何用不同的符号和对角线在C中绘制一个正方形?
- windows - 无法使用 hyperv 在 Windows 中启动 minikube
- functional-programming - Java兼容的简单表达式语言
- unit-testing - [PHPUnit]、[Symfony]:测试实体是否保存在数据库中
- python - Python 什么是正确的时间格式:2018-11-13T20:20:39+00:00