我很难过。我有一个login.php页面,其中包含我的index.php页面顶部包含的SQL登录信息(主机名,数据库,用户名,密码)(使用require_once)。登录信息位于条件语句中,用于确定我是在远程服务器还是在本地测试服务器上,并提供正确的登录信息。现在,当它直接进入远程服务器的index.php页面时,它变得很奇怪,不起作用(因为它不会与数据库建立连接),但它在测试服务器上工作,如果我首先访问远程服务器上的login.php站点(它不回应任何内容),然后访问远程服务器上的index.php页面,则会起作用。我禁用了缓存。为什么会发生这种情况,我该如何解决?首先访问http://distantfuturejosh.com/playground/pendingaxioms(它不会工作),然后访问http://distantfuturejosh.com/playground/pendingaxioms/login.php(提供一个空白页),然后返回http://distantfuturejosh.com/playground/pendingaxioms(它会工作,你会看到图像出现)。SQL登录仅在访问登录页面后才有效
这里是的login.php页面:
<?php
$requesturi = $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'];
$pos = strpos($requesturi, "www.distantfuturejosh.com");
if ($pos === 0)
{
$db_hostname = "xxxxxxxx";
$db_database = "xxxxxxxx";
$db_username = "xxxxxxxx";
$db_password = "xxxxxxxx";
}
else
{
$db_hostname = "localhost";
$db_database = "xxxxxxxx";
$db_username = "root";
$db_password = "root";
}
?>
首页,当我第一次访问对我来说工作正常,但这可能是持久状态。试着回应'$ requesturi'和'$ pos'的值,看看它们是否符合你的期望。 – jpmc26 2013-04-24 06:02:18
请注意,每次运行php脚本时都必须建立一个新的数据库连接。 – 2013-04-24 07:02:58