如果这是编程问题还是服务器问题,我不太肯定,但我倾向于服务器。我一直在将网页(由MySQL数据库支持的基本php )从Ubuntu服务器移动到OSX服务器。我已经在(httpd.conf)中启用了php模块,并在/etc中创建了一个php.ini文件,而php似乎正在工作--只是不使用旧的网页。
基本上,为了测试目的,我在本地子网上设置了web页面(托管在10.x.x.x上),并将web服务器指向一个目录,在该目录中,我从另一个服务器复制所有文件。当我将Safari定向到地址10.x.x.x时,它正确地找到并显示了index.php,但它不执行脚本,它只是将内容转储到浏览器。
那时,我认为我没有正确地设置php,所以我创建了只包含
<?
phpinfo();
?>令我惊讶的是,它正确运行(从10.x.x.x/info.php)。
这让我觉得代码本身一定有问题。由于代码目前在Ubuntu服务器上工作,而且没有任何更改,所以我检查php的版本。旧服务器使用5.2,OSX服务器运行5.3。这可能是问题所在,但没有多大意义,因为我不认为有什么变化,而且这个网站的php是非常基本的。进一步证明这是一个代码问题的证据是,当我通过php、index.php和info.php直接执行info.php和index.php时,我从命令行获得了相同的行为。
但是,我仍然倾向于认为问题在OSX服务器上而不是在编程中,因为如果它是php的问题(由于版本或语法错误),那么在尝试执行脚本而不是将文件作为文本处理时,我会收到错误消息吗?
你觉得这是怎么回事?我是不是刚刚失去了理智:)。任何帮助让这些php文件执行是非常感谢的。谢谢!!
发布于 2011-02-19 01:58:27
默认情况下,在OS上禁用IIRC短打开标记。虽然您的info.php测试似乎表明在您的设置中启用了这些标记,但我仍然建议至少编辑一个要使用长标记的文件(即<? ?> -> <?php ?>),看看这是否有任何不同。
https://serverfault.com/questions/237410
复制相似问题