我正在尝试使用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
我注意到路径中有向前和向后的斜杠,这似乎很奇怪。是什么原因造成了这个错误?
答案 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)
然后我将项目名称更改为较小的大小,从项目名称中删除“-”,最后成功安装了它。