尝试使用Composer安装Quickbooks API时,出现“无法打开流:没有此类文件或目录”错误

时间:2017-06-09 17:32:55

标签: php composer-php quickbooks quickbooks-online package-managers

我正在尝试使用composer安装quickbooks API v3。当我使用命令时:

composer require quickbooks/v3-php-sdk

我得到了回复:

Using version ^3.2 for quickbooks/v3-php-sdk
./composer.json has been created
Loading composer repositories with package information
Updating dependencies (including require-dev)
Package operations: 1 install, 0 updates, 0 removals
  - Installing quickbooks/v3-php-sdk (v3.2.3): Downloading (100%)

Installation failed, deleting ./composer.json.
  [ErrorException]
  ZipArchive::extractTo(c:\Dropbox\Projects\Web\Websites\Instamation\wwwincludes/vendor/composer/034a1449/intuit-QuickBooks-V3-PHP-SDK-b501
  2d0\src\XSD2PHP\test\data\expected\ContactCompany\oasis\names\specification\ubl\schema\xsd\CommonAggregateComponents_2/AdditionalItemProp
  erty.php): failed to open stream: No such file or directory

在做了一些研究之后,我试图运行这些命令而不会对结果产生任何影响:

composer clear-cache

composer dump-autoload

composer dump-autoload -o

composer update

我注意到路径中有向前和向后的斜杠,这似乎很奇怪。是什么原因造成了这个错误?

4 个答案:

答案 0 :(得分:2)

它看起来像路径问题。路径太长了。 Composer抱怨Windows上的PHP路径太长了。 Windows的最大路径长度(MAXPATHLEN)为260个字符,例如:composer / composer#3755。

如果你不超过260(https://msdn.microsoft.com/en-gb/library/windows/desktop/aa365247(v=vs.85).aspx#maxpath),你可以重命名你的项目以绕过限制作为一个相对简单的“修复”。

答案 1 :(得分:1)

因为我的第一个芒果没有工作, 尝试:

作曲家需要'。 $ _SERVER [' DOCUMENT_ROOT']。 ' / QuickBooks的/ V3-PHP-SDK&#39 ;;

您还必须将文档根目录或文档根目录上的文件夹移动。因为那是Web服务器只能访问那里的地方。

答案 2 :(得分:0)

您的错误代码:    ZipArchive::extractTo(c:\Dropbox\Projects\Web\Websites\Instamation\wwwincludes/vendor/composer/034a1449/intuit-QuickBooks-V3-PHP-SDK-b501 2d0\src\XSD2PHP\test\data\expected\ContactCompany\oasis\names\specification\ubl\schema\xsd\CommonAggregateComponents_2/AdditionalItemProp erty.php): failed to open stream: No such file or directory

因为wwwincludes/vendor/composer/034a1449/intuit-QuickBooks-V3-PHP-SDK-b5012d0是php / apache环境中生成的路径,它指向phpini文件中的include_path =语句。

所以我会尝试更改php.ini文件中include路径的斜杠。

如果你正在为composer调试这个,请安装一个例程来调用realpath()来纠正错误配置的php路径导致错误。

答案 3 :(得分:0)

在cmd提示符下运行此命令composer require quickbooks/v3-php-sdk时出现此错误。

  

Failed to download quickbooks/v3-php-sdk from dist: The archive may contain identical file names with different capitalization (which fails on case insensitive filesystems): ZipArchive::extractTo(): Full extraction path exceed MAXPATHLEN (260)

然后我将项目名称更改为较小的大小,从项目名称中删除“-”,最后成功安装了它。