我正在尝试使用作曲家安装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:DropboxProjectsWebWebsitesInstamationwwwincludes/vendor/composer/034a1449/intuit-QuickBooks-V3-PHP-SDK-b501 2d0srcXSD2PHPtestdataexpectedContactCompanyoasisnamesspecificationublschemaxsdCommonAggregateComponents_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 个字符,此处的示例类似:作曲家/作曲家#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:DropboxProjectsWebWebsitesInstamationwwwincludes/vendor/composer/034a1449/intuit-QuickBooks-V3-PHP-SDK-b501
2d0srcXSD2PHPtestdataexpectedContactCompanyoasisnamesspecificationublschemaxsdCommonAggregateComponents_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 文件中包含路径的斜杠。
如果您正在为 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)
然后我将我的项目名称更改为较小的大小,从项目名称中删除了"-",最后我成功安装了它。