【发布时间】:2025-12-14 02:45:01
【问题描述】:
在发布这个之前,我已经浏览了这个论坛上的所有主题。没有一个解决方案能够解决我的问题,所以我不得不打开一个新线程。
我的代码中有以下include,但出现“无法打开流:HTTP 请求失败!”错误。我已经在php.ini 有这个设置了:
allow_url_include = On and
allow_url_fopen = On
但还是失败了。
1.下面是/test/foo.php中定义的include,包含/test/bar.php下同一服务器上的文件
<div class="tab-content" style=''>
<div class="tab-pane active" id="my1"><?php include('http://'. $_SERVER['SERVER_NAME'] . ':' .
$_SERVER['SERVER_PORT'] . "/bar.php?env=test1&days=3&start=$start&end=$end");?></div>
</div>
2.目录结构如下:
a) /test/foo.php --> 这包含在我自己的服务器中。 b) /test/bar.php
3.Apache文档根目录指向/testlike
/var/www/html --> /test
4.echo __DIR__ 向我显示“/test”,因此它肯定指向正确的目录。
5.我已授予此目录的完全权限以防万一,但没有运气。
6. Apache 错误日志中包含上述内容之一的确切错误。它不适用于上述任何一项。服务器名称和端口被有意从下面的日志中删除。
[Sun Jul 07 15:01:47 2013] [error] [client] PHP 警告:include(http://:/bar.php?env=my1&days=3&start=2013-06-07&end=2013-07 -07):打开流失败:HTTP 请求失败!在第 36 行的 /test/foo.php
[Sun Jul 07 15:01:47 2013] [error] [client ] PHP 警告:include(): Failed opening 'http://:/bar.php?env=my1&days=3&start=2013-06-07&end=2013 -07-07' 在第 36 行的 /test/foo.php 中包含 (include_path='.:/usr/share/pear:/usr/share/php')
【问题讨论】:
-
那么,对于初学者来说,foo.php 第 36 行的代码是什么?
-
这通常是由于服务器位于路由器后面,该路由器具有 DNS 名称的实际 IP 地址,但是更常见的是包含本地 files 而不是 url ...
-
感谢大家的回复。如果我包含本地文件而不是 URL,关于如何添加查询参数的任何想法?
标签: php