centos 5.8 apache 2.2.3服务器PHP 5只能部分工作

我有一个共享主机的网站我正在转移到一个Centos 5.8 VPS – 页面都加载正常,其中包括一堆本地PHP与各种arrays,replace和文件读取,但提交表单PHP失败 – 我已经包括各种回声在不同的点,发现后,线

$txt = filter_var($txt,FILTER_SANITIZE_SPECIAL_CHARS); 

没有回声将显示和脚本永远不会到达结束(redirect) – 导致一个空白的屏幕或屏幕只显示在该行之前的回声

如果我删除该行脚本到达最后,但不写入它应该的文件。 该代码只是基本的:

 //open the file and choose the mode $fh = fopen("../file.txt", "a"); fwrite($fh, $data); //close the file fclose($fh); 

我的设置中的哪一部分可能与共享主机设置有所不同,导致了这种行为差异? 我错过了一个依赖或者是我的configuration有问题吗?

这听起来像PHP脚本在这条线上彻底死亡。 打开错误报告,而debugging将有助于(错误可能已经在您的Apache error.log)。 但是,最可能的解释是filter_var函数不存在。

想到两个解释:

  • 你的PHP版本是<5.2.0; 早期版本的PHP没有这个function。
  • 你的PHP编译时没有--enable-filter ; 检查phpinfo()查看是否为您的PHP构build启用了filter。