【问题标题】:PHPUnit error - Can't run Laravel tests from Command line using MAMP ServerPHPUnit 错误 - 无法使用 MAMP 服务器从命令行运行 Laravel 测试
【发布时间】:2020-04-19 09:22:50
【问题描述】:

这个问题我已经有一段时间了。首先,我在我的 Mac OS 上安装了 MAMP Pro Server,选择的默认 PHP 版本是 7.3.8。我还检查了“使此版本在命令行上可用”选项。但是每当我尝试使用 phpunit 命令运行 laravel 测试时,都会出现以下错误;

PHPUnit 8.4.3 by Sebastian Bergmann and contributors.

This version of PHPUnit is supported on PHP 7.2, PHP 7.3, and PHP 7.4.
You are using PHP 7.1.16 (/usr/bin/php).

我已使用php -v 确认我的 php 版本在命令行上可用,它会输出

PHP 7.3.8 (cli) (built: Aug 14 2019 16:42:46) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.3.8, Copyright (c) 1998-2018 Zend Technologies

请帮忙。

【问题讨论】:

  • /usr/bin/php -v 给你什么?提示:php 可能没有链接到 /usr/bin/php。在命令行中用whereis php检查它
  • /usr/bin/php -v 给我PHP 7.1.16 (cli) (built: Mar 31 2018 02:59:59) ( NTS )whereis php 给我/usr/bin/php
  • 好吧,这似乎是继续前进的正确步骤:您的“/usr/bin/php”链接到错误的 php 版本。可以执行php -r 'echo PHP_BINDIR;'查看你的php别名在哪里吗?
  • 谢谢。我刚刚完成了,它链接到/Applications/MAMP/bin/php/php7.3.8/bin
  • 我提供的答案应该符合您的要求。

标签: php laravel unit-testing phpunit


【解决方案1】:

您的 /usr/bin/php 文件未链接到您的 MAMP 版本的 php。该文件由 phpunit 使用(在您的情况下)。

让我告诉你如何切换它

首先,把原来的链接移开

sudo mv /usr/bin/php /usr/bin/php.bak

然后将 /usr/bin/php 链接到您的实际 MAMP PHP 版本:

sudo ln -s /Applications/MAMP/bin/php/php7.3.8/bin /usr/bin/php

使用 /usr/bin/php -v 验证它,为您提供 7.3.8 版本。

【讨论】:

  • 谢谢,但在每种情况下我都会收到操作不允许的错误。在尝试命令之前是否需要关闭服务器?
  • 您必须使用有权更改系统设置的帐户运行它
  • 以下内容对您有帮助吗? osxdaily.com/2018/10/09/…
猜你喜欢
  • 2015-08-15
  • 2014-11-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-03-06
相关资源
最近更新 更多