在php交互式shell中使用作曲家添加的依赖项

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在php交互式shell中使用作曲家添加的依赖项相关的知识,希望对你有一定的参考价值。

我试图在php shell中使用我的作曲家添加的依赖项,但它不起作用。

我正在使用这个要点[https://gist.github.com/gigorok/5ca39384635113495796]

php -a -d auto_prepend_file=./vendor/autoload.php

我试图跑,同样的:

use CarbonCarbon;
Carbon::parse('today');

在这一行后我得到:PHP警告:未捕获错误:在PHP shell代码中找不到类'Carbon':1

值得注意的是,我有一个运行的codecept测试,它使用具有相同使用声明的Carbon并且它们可以工作。

答案

正如PHP documentation中所述,自动加载在交互式shell中不起作用:

如果在CLI交互模式下使用PHP,则无法进行自动加载

另一答案

这可能有所帮助。

cd /your/application/dir
rm bootstrap/compiled.php
rm -rf vendor
composer install --no-dev

以上是关于在php交互式shell中使用作曲家添加的依赖项的主要内容,如果未能解决你的问题,请参考以下文章

在作曲家中覆盖 PHP 基本依赖项

为什么我的作曲家依赖项没有在docker容器中找到但是本机在我的mac上?

PHP使用来自作曲家的自动加载器添加自定义命名空间

php版本与作曲家不匹配

编辑在 composer 中管理的多个 PHP 包

如何让作曲家识别国际 php 扩展