在端口 8080 的网站上使用 file_get_contents() 时出现空白页

发布于 2025-01-02 12:52:15 字数 667 浏览 0 评论 0原文

当我在我的网站之一上运行以下代码时:

    <?php
    $thing = file_get_contents("http://mywebsite.com:8080/Public");
    echo($thing);
    ?>

它返回预期结果, http://mywebsite.com 的内容:8080/Public

但是当我在其他网站(由不同公司托管)上运行它时,它不会显示任何内容。没有错误,也不是 http://mywebsite:8080/Public 的内容。但是,如果我运行以下代码:

    <?php
    $thing = file_get_contents("http://somerandomwebsite.com");
    echo($thing);
    ?>

它会返回 somerandomwebsite.com 的内容。是否有原因导致它在其中一个网站上有效,而在另一个网站上无效?为什么端口是80才能取到文件内容?

When I run the following code on one of my websites:

    <?php
    $thing = file_get_contents("http://mywebsite.com:8080/Public");
    echo($thing);
    ?>

It returns expected result, the contents of http://mywebsite.com:8080/Public

But when I run it on my other website (hosted on by a different company), it does not display anything. No errors and not the contents of http://mywebsite:8080/Public. However, if I run the following code:

    <?php
    $thing = file_get_contents("http://somerandomwebsite.com");
    echo($thing);
    ?>

It returns the contents of somerandomwebsite.com. Is there a reason why it works on one of the websites and not the other? Why can it only fetch the contents of the file if the port is 80?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

靖瑶 2025-01-09 12:52:15

请咨询您的托管提供商是否允许 PHP 发出外部请求。一些共享托管提供商禁用此功能。

Check with your hosting provider if it allows PHP to make external requests. Some shared hosting providers disable that.

想你只要分分秒秒 2025-01-09 12:52:15

file_get_contents 失败,因为它无法检索手头的内容。最有可能的是,简单的防火墙会阻止所有流向非 80 端口的流量。您必须使用端口 80 来避开这些简单的防火墙。

下载资源失败会使 php 发出警告。最有可能的是,警告不会显示在生产服务器上。检查服务器日志和 display_errorserror_reporting< /a>配置。

file_get_contents fails because it cannot retrieve the content at hand. Most likely, a simplistic firewall is blocking all traffic to non-80 ports. You'll have to use port 80 to avoid these simplistic firewalls.

The failure to download the resource makes php emit a warning. Most likely, warnings are not displayed on the production server. Check the server's log and the display_errors and error_reporting configurations.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文