我正在尝试使用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
我注意到路径中有向前和向后的斜线,这似乎很奇怪。是什么原因造成了这个错误?
它看起来像一个路径问题。路径太长了。 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)你可能能够重命名你的项目以绕过限制作为一个相对简单的“修复”。
因为我的第一个芒果不起作用,试试:
作曲家要求'。 $ _SERVER ['DOCUMENT_ROOT']。 '/ QuickBooks的/ V3-PHP-SDK';
您还必须将文档根目录或文档根目录上的文件夹移动。因为那是Web服务器只能访问那里的地方。
你的错误代码: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路径,从而导致错误。
我在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)
然后我将项目名称更改为更小的大小,从项目名称中删除“ - ”,最后我成功安装了它。