【问题标题】:Script executing fine on browser failing on cli脚本在浏览器上执行良好,在 cli 上失败
【发布时间】:2017-08-11 13:48:18
【问题描述】:

所以,我在 CentOS 7 中,并且我有一个基本上连接到 AWS 机器的脚本检查新文件并下载它们。通过浏览器运行它可以完美运行,但我希望它是一个 cron 作业,所以我试图在命令行上运行它,但它失败并显示以下消息:-

PHP Fatal error: Uncaught Guzzle\Http\Exception\CurlException: [curl] 56: Received HTTP code 407 from proxy after CONNECT

我已经测试过了,在这两种情况下都加载了相同的模块(由get_loaded_extensions( )检查),同一个用户正在执行脚本(由get_current_user( )检查)并且加载的phpinfo在两种情况下都是同一个文件;

我使用公司代理,但我不明白为什么这不会影响通过 Apache 运行的进程,但会影响在 CLI 上运行的进程。

我们谈论的是正在执行的完全相同的文件。因此,我试图了解 Apache 为能够访问代理所做的工作,为什么它在 CLI 上失败,关于我接下来可以/应该检查什么的任何提示?

这个问题不是 cURL Proxy issues 407 的重复问题。阅读答案以确认两种情况不同。

【问题讨论】:

  • 当您收到407 Proxy Authentication Required 时,我认为您最好的选择是与代理管理员交谈...
  • 感谢您的回答,我明白这一点,但是,为什么我会通过 CLI 得到错误但通过 apache,这就是我要在这里调试的。
  • 在与代理管理员交谈之前,我不会在这里浪费时间进行调试......最终可能会证明他们只是将代理配置为允许来自 Apache 的请求通过而无需进一步的麻烦。跨度>
  • 不幸的是,这是我不能承担的奢侈品。根据代理管理员的说法,如果它在其中一种情况下工作并且我没有理由不工作,那么错误在我这边。因此,为什么我想了解能够与他核对会发生什么。
  • cURL Proxy issues 407的可能重复

标签: php proxy command-line-interface guzzle


【解决方案1】:

好吧,有一件事我忘了说,现在我意识到这可能是这里的问题。

此脚本在我网络上的服务器中,但不在我的计算机上。

这意味着当我看到在我的浏览器上运行的脚本时,我的系统凭据会命中代理,当我在服务器的命令行上运行它时,服务器凭据会命中代理...因为我没有给出任何消耗代理的凭据都不会验证请求。

很抱歉浪费了您的时间。

【讨论】:

    猜你喜欢
    • 2017-06-03
    • 2020-04-10
    • 1970-01-01
    • 2022-09-27
    • 1970-01-01
    • 1970-01-01
    • 2021-07-22
    • 2023-04-01
    • 2017-07-23
    相关资源
    最近更新 更多