Composer 安装程序脚本未正确运行 [退出代码 1]
Posted
技术标签:
【中文标题】Composer 安装程序脚本未正确运行 [退出代码 1]【英文标题】:The Composer installer script did not run correctly [exit code 1] 【发布时间】:2020-06-09 23:29:46 【问题描述】:我尝试通过从 getcomposer 下载可执行的 Composer-Setup.exe 在 Windows 10 中安装 Composer-php。在安装过程中提示选择我想使用的命令行 PHP 时,我输入了 PHP C:\WinNMP\bin\PHP\64bit-php-7.4\php.exe 的路径
但我收到以下错误:
Script Output: PHP Warning: realpath(): open_basedir restriction in effect.
文件(C:\Users\admin\AppData\Local\Temp\is-1KBL9.tmp) 不在允许的路径内:(c:/winnmp) 在 C:\Users\admin\AppData\第 655 行的 Local\Temp\is-1KBL9.tmp\installer.php PHP 警告:is_writeable():open_basedir 限制生效。文件(C:\Users\admin\AppData\Local\Temp\is-1KBL9.tmp)不在允许的路径内:(c:/winnmp)在 C:\Users\admin\AppData\Local\Temp \is-1KBL9.tmp\installer.php 在第 657 行
【问题讨论】:
【参考方案1】:我禁用了防火墙并解决了这个作曲家问题:
脚本输出: 无法下载“https://getcomposer.org/versions”文件:php_network_getaddresses:getcomposer.org 的 getaddrinfo 失败:不知道这样的主机。
【讨论】:
请分享更多细节。您面临的错误消息看起来与问题中的完全不同【参考方案2】:在 90% 的情况下,问题出在 Windows 防火墙
安装时关闭 Windows Defender 防火墙
【讨论】:
工作,非常感谢【参考方案3】:您的php.ini
似乎对使用open_basedir
选项可访问的目录设置了限制:
将 PHP 可以访问的文件限制在指定的目录树中,包括文件本身。 [...]
当脚本尝试访问文件系统时,例如使用 include 或 fopen(),会检查文件的位置。
您可以运行 php -i
以找出您的 php.ini
所在的位置,然后禁用/修改该选项,例如确保C:\Users\admin\AppData\Local\Temp
是可访问的。
【讨论】:
成功了,谢谢!我刚刚在 php.ini 中注释了 #open_basedir = "c:/winnmp" 并重新安装了 Composer-php以上是关于Composer 安装程序脚本未正确运行 [退出代码 1]的主要内容,如果未能解决你的问题,请参考以下文章
尽管正确打印出所有输出,但程序未在 Java 中以退出代码 0 结束