centos 5.8 apache 2.2.3 服务器 PHP 5 仅部分运行

centos 5.8 apache 2.2.3 服务器 PHP 5 仅部分运行

我有一个网站在共享主机上,我正在转移到 Centos 5.8 VPS - 所有页面加载正常,其中包括一堆带有各种数组、替换和文件读取的本地 php,但提交表单 php 失败 - 我在不同点包含了各种回显,发现在行之后

$txt = filter_var($txt,FILTER_SANITIZE_SPECIAL_CHARS);

不会显示任何回显,并且脚本永远不会到达末尾(重定向) - 导致屏幕空白或屏幕仅显示该行之前的回显

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

//open the file and choose the mode

$fh = fopen("../file.txt", "a");

fwrite($fh, $data);



//close the file

fclose($fh);

我的设置中哪一部分可能与共享主机设置不同,从而导致这种行为差异?是我缺少依赖项还是我的配置有问题?

答案1

听起来 PHP 脚本在那一行就彻底死掉了;在调试时打开错误报告将有助于解决这个问题(错误可能已经存在于您的 Apache error.log 中)。但是,最可能的解释是 filter_var 函数不存在。

我想到两种解释:

  • 您的 PHP 版本低于 5.2.0;早期版本的 PHP 没有该功能。
  • 您的 PHP 是在没有的情况下编译的--enable-filter;请检查 phpinfo() 以查看是否为您的 PHP 构建启用了过滤器。

相关内容