0
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>

这是我的 php 文档的开始,它会在验证程序中引发 T_STRING 错误。我曾尝试使用 XAMPP 查看文档,并且效果很好,但是当我将文档上传到服务器(这是针对课程的)时,出现服务器错误。更糟糕的是,这个确切的代码在我所有其他(工作的)php 文档中。
整个代码可能太长而无法发布完整的诊断,所以我想知道仅此一项是否会导致服务器错误。如果不是这样,有哪些常见原因?

其他看起来可疑的事情:

$values = ["","","","","","",""];

我不知道这是否应该是创建/清除数组的方式,但这是验证程序引发的另一个错误。

if (strlen($customerlname)>30) {
....
if (!is_numeric($postcode)) {

等等。这些应该没问题,尽管它们似乎没有被 N++ 识别。

问题是该文档可以与 XAMPP 一起使用,而不是在服务器上。XAMPP 只是友善并且“知道我的意思”吗?我无法在 XAMPP 中测试的唯一部分是数据库连接:

$conn = mysql_connect("localhost", "XXXX", "XXXX");
mysql_select_db("XXXX", $conn)
or die ('Database not found '.mysql_error());  

这又是在各种其他(工作)文件中。这可能是服务器端问题吗?

编辑:我发现了明显的问题,谢谢。该文档现在正在运行。问题是数组,必须将一些实例更改为 $variable = array(...); 谢谢大家的帮助。也很高兴了解 phpinfo() 以供将来参考。

4

2 回答 2

1

服务器可能正在查看

<?

作为打开的 PHP 标记。(可以这样配置)

最简单的就是改成类似

<?php echo '<?xml version="1.0" encoding="UTF-8"?>'; ?>
于 2013-05-12T15:33:03.977 回答
0

如果您的文档从顶部开始:

<?xml version="1.0" encoding="UTF-8"?>

如果您short_open_tag=On在您的网络服务器中启用,PHP 会假设<?您正在启动一个 PHP 文档,因此,xml之后是评估一个字符串。

要检查,如果是这种情况,那么您应该将其关闭:short_open_tag=Off然后尝试再次加载您的文档

于 2013-05-12T15:32:34.840 回答