微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

站点在 localhost 上运行,但使用 Composer 的页面会引发 ERR_CONNECTION_REFUSED格式错误的 http_proxy url 或错误的 composer.phar?

如何解决站点在 localhost 上运行,但使用 Composer 的页面会引发 ERR_CONNECTION_REFUSED格式错误的 http_proxy url 或错误的 composer.phar?

你们可能都熟悉 Chrome 页面

本地主机拒绝连接。试试:

检查连接
检查代理和防火墙

这是我尝试导航到我网站上的网址时得到的结果。在检查元素的网络选项卡下,我看到状态(失败)、类型文档和启动器其他。我从来没有在这页面上工作过,所以直到现在我才需要 Composer。我相信这是唯一使用 Composer 的页面

为了下载 Composer,我按照指示 here,然后在 VS Code 的 git 终端上运行 composer install。这将创建一个 /vendor/ 目录(包含在 .gitignore 文件中)以及一个 composer.phar 文件。还有一个 composer.json 和 composer.lock,但我已经从一个仓库中提取了它们(它们没有在 .gitignore 中列出)。

安装后,我运行 Composer Setup,为所有用户运行它,不选择开发者模式,并在 PHP 7.2.10 的 MAMP(我用于本地主机的服务器)目录中选择命令行 PHP。这与我在 VS Code 中的环境版本相同,它在启动 MAMP 时导致了不同的问题,直到我将 MAMP 首选项从 7.1.20 更改为 7.2.10。

然后询问“使用代理服务器连接到互联网”。我认为(认为)MAMP 是一个代理服务器,所以我选中了“是”框,然后输入了“本地主机”。我相信这在变量名称 http_proxy 下的我的用户变量(不是系统变量)列表下添加了“localhost”作为环境变量(控制面板->系统属性->高级->环境变量)。我完成了设置,它警告我 Windows OneDrive 的 PHP 版本。具体来说,在 CLI 上我也看到过类似的

低于 7.2.23 和 7.3.10 的 PHP 版本不支持 Windows OneDrive 文件夹。 升级您的 PHP (7.2.10) 以将此位置用于 Composer。

我假设这不是我的问题,因为我没有使用 OneDrive 做任何事情。

MAMP 在我尝试启动它时抛出了很多错误,直到我更改了版本首选项,正如我所提到的。修复后,它不起作用,所以我尝试使用 http://localhost 作为我的代理 URL 卸载和安装,但我不能,因为它已经在我的环境变量中进行了硬编码。当我最终弄清楚并尝试更改它时,Composer 无法使用该代理 URL 进行安装。所以我相信“localhost”是正确的,如果我想包括任何东西。有人告诉我,他们认为我不应该选中“使用代理服务器连接到互联网”。所以到目前为止,我已经删除了 Windows 环境变量中的 http_proxy,并且在设置 Composer 时没有使用。

我尝试了 composer updatecomposer install 和卸载 Composer,因为它显示 herehere,但是因为 composer.json 和 composer.lock 包含在 repo 和供应商文件在 .gitignore 中,我认为我从未完全卸载和删除过。上面的两个 composer 命令给了我回报

无需安装、更新或删除

我不记得我最初运行什么来收到此错误消息,但我会看到:

[Composer\Downloader\TransportException] 无法使用代理: 格式错误的 http_proxy 网址

如果我运行 composer diag,我总是收到该消息,以及您在 this image 中看到的相同错误。我现在只是运行它来复制该代码,但一切正常。我最近有人向我发送了他们的压缩供应商目录,并用它替换了我的。我想在他们的供应商目录中我仍然遇到了 Composer diag 错误,但我仍然无法连接到该站点。这是我第一次得到所有 OK,但我仍然无法连接到该站点。这让我觉得 repo 中的 composer.lock 可能不喜欢我本地安装中的 composer 东西。 composer.json 只有几行代码,所以我认为不可能。

我的 composer.phar 有:

<?PHP
if (extension_loaded('apc') && filter_var(ini_get('apc.enable_cli'),FILTER_VALIDATE_BOOLEAN) && filter_var(ini_get('apc.cache_by_default'),FILTER_VALIDATE_BOOLEAN)) {
    if (version_compare(PHPversion('apc'),'3.0.12','>=')) {
        ini_set('apc.cache_by_default',0);
    } else {
        fwrite(STDERR,'Warning: APC <= 3.0.12 may cause Fatal errors when running composer commands.'.PHP_EOL);
        fwrite(STDERR,'Update APC,or set apc.enable_cli or apc.cache_by_default to 0 in your PHP.ini.'.PHP_EOL);
    }
}

Phar::mapPhar('composer.phar');
require 'phar://composer.phar/bin/composer';

__HALT_COMPILER(); ?>

和一堆约60行代码?符号和空方块以及断断续续的英语,如 src/Composer/Autoload/AutoloadGenerator.PHP。这使得 VS Code 在 __HALT_COMPILER(): ?> 下面的 100K+ 行代码上抛出错误我不确定这是不是一个问题,或者是否可以因为它只是一个编译问题,并且编译器应该在此之前停止它。我也不确定为什么 that function 全部大写......我标记了 Visual Studio Code 因为我不确定在 __HALT_COMPILER(): ?> 之后抛出这个错误是否错误

除此之外,它可能是我的 Windows 代理设置,就像 Google Chrome 建议的那样。这似乎不太可能,因为我网站的其余部分都很好。

我不确定问题是什么,但既然 composer diag 没有抛出任何错误,似乎最紧迫的问题是修复我的 composer.phar,或者至少确定它是否是一个问题。

谢谢大家的帮助。我非常需要它!

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。