DDEV/Laravel/PHPUnit:PhpStorm 中的设置问题
DDEV/Laravel/PHPUnit: Problems with setup in PhpStorm
在 Mac 上将 Laravel 与 DDEV/Docker 结合使用,我无法直接将 PhpStorm 转换为 运行 具有覆盖范围的 PHPUnit。我遵循这些说明:https://ddev.readthedocs.io/en/stable/users/topics/phpstorm/
我用
开始设置
curl -s "https://laravel.build/myproject?with=mysql,redis,memcached" | bash
一切正常,包括在我使用
打开 Xdebug 后使用 Xdebug 进行调试
ddev xdebug on
PHPUnit 也可以通过控制台正常工作:
ddev exec phpunit
Composer 版本为 2.1.4。
按照上面的说明,我卡在了第 6 点。
我错过了什么? PHPUnit 位于目录中,它也是作曲家安装的:
使用 composer 2.2 版后,vendor/bin 中的 phpunit 可执行文件不再是符号链接。这是一个 PHP 文件,在流包装器的帮助下包含原始可执行文件,但不允许包含 phpunit:https://github.com/sebastianbergmann/phpunit/issues/4096#issuecomment-585900398
这个bug在composer中解决了:
https://github.com/composer/composer/issues/10387#issuecomment-1000246631
在正式发布此修复程序之前,请使用以下方法获取最新的开发版本:
composer self-update --snapshot
此外,您可以将 PhpStorm 配置为使用原始文件:
vendor/phpunit/phpunit/phpunit
感谢你们所有人,非常感谢你们的帮助。
我是这样解决的:
- 我安装了 ddev-edge 以避免 composer 2.1.x。在使用稳定版本的 ddev 时,我无法在 config.yaml 中将其更改为 2.2 而不会导致 ddev 重新启动。它仅适用于活动的 docker 实例。
- 然后将 ddev 配置为使用最新的 PHP-version 8.1(对于从头开始的新项目,无论如何它都有意义)。
- 然后 PHPUnit 的错误更改为一个错误,告诉我 PHP 版本对于 PHPUnit 版本来说太旧了。那是因为 PHPStorm 在连接到 Docker 并检查 CLI 远程解释器时自动选择 PHP 7.4 作为默认值。
- 所以我将 PHP 可执行文件从“php”更改为“php8.1”
查看截图。
现在 运行 PHP来自 PHPStorm 的单位工作正常,即使有覆盖。
在 Mac 上将 Laravel 与 DDEV/Docker 结合使用,我无法直接将 PhpStorm 转换为 运行 具有覆盖范围的 PHPUnit。我遵循这些说明:https://ddev.readthedocs.io/en/stable/users/topics/phpstorm/
我用
开始设置curl -s "https://laravel.build/myproject?with=mysql,redis,memcached" | bash
一切正常,包括在我使用
打开 Xdebug 后使用 Xdebug 进行调试ddev xdebug on
PHPUnit 也可以通过控制台正常工作:
ddev exec phpunit
Composer 版本为 2.1.4。
按照上面的说明,我卡在了第 6 点。
我错过了什么? PHPUnit 位于目录中,它也是作曲家安装的:
使用 composer 2.2 版后,vendor/bin 中的 phpunit 可执行文件不再是符号链接。这是一个 PHP 文件,在流包装器的帮助下包含原始可执行文件,但不允许包含 phpunit:https://github.com/sebastianbergmann/phpunit/issues/4096#issuecomment-585900398
这个bug在composer中解决了: https://github.com/composer/composer/issues/10387#issuecomment-1000246631
在正式发布此修复程序之前,请使用以下方法获取最新的开发版本:
composer self-update --snapshot
此外,您可以将 PhpStorm 配置为使用原始文件:
vendor/phpunit/phpunit/phpunit
感谢你们所有人,非常感谢你们的帮助。
我是这样解决的:
- 我安装了 ddev-edge 以避免 composer 2.1.x。在使用稳定版本的 ddev 时,我无法在 config.yaml 中将其更改为 2.2 而不会导致 ddev 重新启动。它仅适用于活动的 docker 实例。
- 然后将 ddev 配置为使用最新的 PHP-version 8.1(对于从头开始的新项目,无论如何它都有意义)。
- 然后 PHPUnit 的错误更改为一个错误,告诉我 PHP 版本对于 PHPUnit 版本来说太旧了。那是因为 PHPStorm 在连接到 Docker 并检查 CLI 远程解释器时自动选择 PHP 7.4 作为默认值。
- 所以我将 PHP 可执行文件从“php”更改为“php8.1”
查看截图。 现在 运行 PHP来自 PHPStorm 的单位工作正常,即使有覆盖。