两台计算机正在使用SAME存储库,但第一台计算机检测到该库并运行良好,但第二台计算机未检测到它并显示“错误'PhpOffice \ Phpspreadsheet \ Reader \ Xlsx'未找到”。
在供应商中,该库也存在。
composer.json和composer.lock在两台计算机上都是一样的。
有一点是,通过git忽略,我在第一台计算机上使用yii的作曲机制,但在第二台计算机(错误的计算机),我手动添加库。
答案 0 :(得分:1)
如果您想使用composer包,则绝对需要使用composer进行安装。这可以确保正确生成自动加载器,并且可以通过PHP找到您的类。
答案 1 :(得分:1)
将库文件复制到vendor
目录不足以安装它。在安装过程中,Composer会创建自动加载脚本,其中包含有关如何查找Composer安装的所有类的信息。如果您只是复制库文件,Composer甚至不会知道它存在,也无法从中加载任何类。
如果您无法在服务器/计算机A上使用Composer,则应将所有依赖项安装在不同的计算机上(B)并将整个vendor
目录复制到服务器/计算机A.自动加载定义位于vendor
所以如果你复制整个dorectory它应该工作。