我正在开发一个php应用程序,需要从MySQL数据库中获取一些数据并创建一个xml文件。我已经在本地服务器(Windows上的XAMPP)中成功地做到了这一点,但当我尝试从远程服务器(Linux)加载它时,我没有得到任何输出。
PHP代码:
<?php
$dom = new DOMDocument("1.0");
$node = $dom->createElement("markers");
$parnode = $dom->appendChild($node);
$connection=mysql_connect ($host, $username, $password);
if (!$connection) { die('Not connected : ' . mysql_error());}
$db_selected = mysql_select_db($database, $connection);
if (!$db_selected) {
die ('Can''t use db : ' . mysql_error());
}
$query = "SELECT * FROM tracker WHERE 1 LIMIT 1";
$result = mysql_query($query);
if (!$result) {
die('Invalid query: ' . mysql_error());
}
header("Content-type: text/xml");
while ($row = @mysql_fetch_assoc($result)){
$node = $dom->createElement("marker");
$newnode = $parnode->appendChild($node);
$newnode->setAttribute("lat", $row['lat']);
$newnode->setAttribute("lng", $row['lng']);
}
echo $dom->saveXML();
?>
我在本地机器上得到的输出:`
<markers>
<marker lat="17" lng="77"/>
</markers>
在远程服务器上,我收到一个500内部服务器错误。
原因可能是多重访问权限、缺少xml库、php版本。。。
你能检查错误日志文件吗
RHEL上的/var/log/httpd/error_log
或
/var/log/apache2/error_log on DEB
并粘贴错误的输出?