调用未定义的函数filter_var()

时间:2012-07-31 07:53:22

标签: php

将我的网站转移到另一个托管后我收到了这个错误:

    Fatal error: Call to undefined function filter_var() in
 /home/ultrastep/ultrastep.ru/docs/sites/all/modules/q_cart/q_cart.module on line 410

服务器上的PHP版本是5.2.10。

任何想法都错了吗?

2 个答案:

答案 0 :(得分:19)

你需要有php模块" Filter"安装

答案 1 :(得分:0)

如果其他人像我一样偶然发现了这个问题,这里是我为Redhat / CentOS找到的解决方案:

http://www.cyberciti.biz/faq/rhel-cento-linux-install-php-pecl-filter/

安装php-devel 你需要安装php-devel来编译php扩展:

yum install php-devel

下载php源代码 php_pcre.h头文件不包含php源代码5.1.6,所以你需要php源代码。访问php.net以获取最新版本并存储到/ opt目录。使用lynx和elinks:

cd /opt

elinks http://www.php.net/get/php-5.2.6.tar.bz2/from/a/mirror

将php源代码保存到磁盘代码中。接下来,提取源代码:

tar -jxvf php-5.2.6.tar.bz2

下载过滤器扩展程序 访问pecl扩展程序以获取过滤器的最新源代码:

cd /opt wget http://pecl.php.net/get/filter-0.11.0.tgz

安装过滤器扩展程序 Unrar文件:

tar -jxvf filter-0.11.0.tgz

cd filter-0.11.0

打开logical_filters.c文件:

vi logical_filters.c

查找如下所示的行:

include "ext/pcre/php_pcre.h"

更改为(需要php_pcre.h的绝对路径):

include "/opt/php-5.2.6/ext/pcre/php_pcre.h"

保存并关闭文件。最后,键入以下命令以编译扩展名:

phpize

./configure

make install

配置过滤器扩展 键入以下命令:

echo 'extension=filter.so' > /etc/php.d/filter.ini

重新启动httpd:

service httpd restart