将我的网站从 XAMPP 上传到 Apache 公共主机

Posted

技术标签:

【中文标题】将我的网站从 XAMPP 上传到 Apache 公共主机【英文标题】:Uploading my site from XAMPP to Apache public host 【发布时间】:2015-07-21 01:55:29 【问题描述】:

这是一个普遍的问题。 我在xampp 编译了站点并且它运行正常,因为缺乏经验我使用了mysql 函数而不是改进的mysqli。

ecowebhost 上上传我的网站不起作用,我已经更改了路径,因此显然不会发生连接错误。但我仍然无法与我的数据库交互。 从该站点似乎支持php4版本,因此我需要重新编译我的网站吗?

这是我正在尝试做的一些示例代码......

<?php
function connectto($tablename)
$db_host = "xxx";
$db_username = "xxx";
$db_pass = "xxx";
$link = mysqli_connect("$db_host","$db_username","$db_pass","$tablename") or die ("Could not connect to MySQL");
// @mysql_connect("$db_host","$db_username","$db_pass") or die ("Could not connect to MySQL");
// @mysql_select_db("$tablename") or die ("No database");

?>

谢谢


如果我运行以下命令

<?php
// connection to database
// include_once "connectto.php";
// connectto('test');
$tablename = "test";
$db_host = "xxx";
$db_username = "xxx";
$db_pass = "xxx";
$link =mysqli_connect("$db_host","$db_username","$db_pass","$tablename") 
or die ("Could not connect to MySQL");
if (mysqli_connect_errno())  die("Failed to connect to MySQL: " . mysqli_connect_error());
else  echo " <br /><br />connection established! <br />";
?>

出现的唯一错误消息是

无法连接到 MySQL


更新....

我的一些代码可以正常工作,但我正在努力寻找一种在数据库中插入一些值的方法...

<?php
$db_host = "xxxx";
$db_username = "xxxx";
$db_pass = "xxxx";
// $link = mysqli_connect("$db_host","$db_username","$db_pass","cl45-members-7b5") or die ("Could not connect to MySQL");
@mysql_connect("$db_host","$db_username","$db_pass") or die ("Could not connect to MySQL");
@mysql_select_db("cl45-members-7b5") or die ("No database");
$sql ="INSERT INTO members (username, email, gps_lat, gps_long, password, skill, skill_rate,) VALUES ('a','2','3','4','5','5','6')";
    print '<br /><br /> Great! now you are registered; now update your profile <br />';
    mysql_query ("$sql");
    print '<br /><br />tutto ok;<br /><br />';
?>

有什么地方是错误的吗?我没有发现数据库未找到之类的错误...

【问题讨论】:

您看到了什么错误? 如果我尝试保留所有内容(msql 命令),程序不会访问数据库,并且站点会将我重定向到索引页面,因为它应该是在日志出错的情况下有没有可以用来提示错误信息的命令? 请检查连接:if (mysqli_connect_errno()) die("Failed to connect to MySQL: " . mysqli_connect_error()); 添加了我原来的问题...答案只是“无法连接到 MySQL” 我可能发现了一个错误......如果我使用我以前的 Mysql 命令(不是 Mysqli 命令)运行调试,如果我直接调用该函数,那么一切正常。 (见最后一点代码)。当我包含代码时,连接似乎不起作用。我以这种方式传递表的名称 connectto('test'); 【参考方案1】:

您的问题让我有些困惑,但您可以使用 MySQLi 使用以下方法进行连接:

$link = new mysqli($db_host,$db_username,$db_pass,$tablename);

在你的代码中

or die ("Could not connect to MySQL");

这说明如果您由于某种原因无法连接,请打印出来。您不会获得更多信息,因为您需要包含 $conn->connect_error 例如

if ($link->connect_error) die ("Failed: " . $link->connect_error);

你应该得到类似的东西

$tablename = "test";
$db_host = "xxx";
$db_username = "xxx";
$db_pass = "xxx";
$link = new mysqli($db_host,$db_username,$db_pass,$tablename);
if ($link->connect_error) 
    die ("Failed: " . $link->connect_error);
 else  
    echo " <br /><br />connection established! <br />";

【讨论】:

我理解这种困惑,我最初的问题是,一旦我在 apache 中加载它,使用 mysql 指令而不是 mysqli 指令是否会导致我的网站崩溃。经过一番玩弄之后,如果我离开 mysql 函数(我对 mysqli 很陌生),我可以连接并更新数据库中的计数器,但我仍然无法连接另一个我需要的另一个表网站。我相信此刻我遇到了一个连接问题,我需要关闭一些 mysql 实例。我会尝试自己解决这个问题,我会在一段时间内关闭这篇文章。 Tks【参考方案2】:

经过一番思考并将问题拆分为小子任务后,我相信我设法理解列表中那个愚蠢的额外逗号阻止我运行程序,我复制粘贴了在线共享的语法,现在一切似乎工作......

结果: - 检查拼写 - 将问题一一隔离...

【讨论】:

以上是关于将我的网站从 XAMPP 上传到 Apache 公共主机的主要内容,如果未能解决你的问题,请参考以下文章

将站点从 XAMPP 移动到 Ubuntu Apache 服务器?

Apache2指令通过VirtualHost容器与xampp冲突

将 XAMPP 子文件夹上传到 Web 服务器

虚幻引擎4如何将我的游戏发布到网站?

将网站从 xampp localhost 转移到 Web 服务器 [关闭]

虚拟主机将我重定向到 Xampp 仪表板