【问题标题】:Return content of a local php file with params使用参数返回本地 php 文件的内容
【发布时间】:2016-08-25 09:17:52
【问题描述】:

我有一个包含多个域的 VPS。现在,其中一个网站正试图获取另一个网站的输出,该网站上安装了 Piwik(开源分析)。

目前,我只使用file_get_contents('https://domain.com?param=something'),它工作正常,但内容会“通过网络”发送,当我更改一些 DNS 设置时我注意到了这一点,并且我在几个小时内无法获取我的内容。

由于一切都在同一台服务器上,有没有办法可以访问本地 PHP 文件(with 参数),并通过使用文件路径(如/home/admin/domain/..)返回内容?我知道我可以获取本地文件的(文字)内容,但我无法传递参数并获得所需的响应,因为该文件没有被执行。

有没有办法做到这一点?

【问题讨论】:

    标签: php localhost file-get-contents vps


    【解决方案1】:

    如果我对您的理解正确,那么此命令可能会对您有所帮助:

    php -f /path/to/file.php param=something > output.html

    如果您不需要保存命令的输出,只需省略 > output.html 部分。

    不过,有一个问题。通过使用https://domain.com?param=something,您传递了一个GET 变量,但使用此命令则不同;您必须从 $argv (Explanation here) 中提取参数。因此,如果您无法调整您的代码,那么这将无济于事 - 但据我所知,您可以。

    【讨论】:

    • 谢谢!我花了一些时间来弄清楚所有事情,但结合所请求文件顶部的if (isset($argv)) parse_str(implode('&', array_slice($argv, 1)), $_GET);(将$argv转换为$_GET),它就可以了。
    • 啊,是的,我忘了提到在使用$argv 时必须手动将键与值分开,但很高兴你能想到 :)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-04-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多