【发布时间】:2012-12-07 10:12:47
【问题描述】:
出于显而易见的原因,我正试图将我的网站移至离线状态,但我无法让 localhost PHP 函数正常工作。我的代码如下:
include "http://localhost:8888/mainbar.php?display=1";
如果我只有文件名,我可以包含该文件,但我需要通过 url 传递值,所以这不是一个选项。我已经研究了让它工作的其他方法,但使用 MAMP 的全部意义在于能够离线工作,然后上传改进。
接下来,我无法设置 cookie。这是我拥有的以下 cookie 代码:
$expire=time() + (14 * 24 * 60 * 60);
setcookie("user", "Conan", $expire, '/');
我也尝试使用 Chrome 设置 cookie,但无法这样做。如果无法做到,我会感到惊讶。
【问题讨论】:
-
通常包括在本地文件上完成,而不是通过 Web 服务器。当您通过 http 包含时,发生的事情是 PHP 充当某种 Web 浏览器并向服务器发出第二个请求。这真的是你想做的吗?似乎您可能只想将变量传递给包含。
$display = 'foo';然后在包含中,$display仍然是 foo。我觉得我错过了什么?这里似乎有一个糟糕的设计或对include的误解。 -
为什么不直接使用
include而不是echo file_get_contents('http://localhost:8888/mainbar.php?display=1')?除非它本身包含 php 代码,否则这是一个非常糟糕的主意。事实上,整件事是个坏主意,因为mainbar.php中的任何内容都应该在这段代码中调用。 -
您在本地主机上的时间合适吗?
-
@Corbin 实际上配合使用完整的 url 是完全合法的。
-
@Pete 它是合法的,就像用鞋子敲钉子是合法的一样。你可以这样做,但这可能不是一个好主意。
标签: php cookies include localhost mamp