Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/243.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php IMAP已启用,但功能未定义?_Php_Imap - Fatal编程技术网

Php IMAP已启用,但功能未定义?

Php IMAP已启用,但功能未定义?,php,imap,Php,Imap,我们的一个电子邮件解析脚本在使用imap函数时遇到问题: 致命错误:调用undefined 函数imap_open() IMAP是绝对启用的,它是用php编译的,并显示在phpinfo()中,当执行get\u loaded\u extensions()或extension\u loaded(“IMAP”)时,这些函数可能无法访问,有什么原因吗 IMAP版本是2007e,PHP是5.3 编辑1:这是在mac服务器(OSX 10.5.7)上运行的。使用imap函数的脚本位于/var/***/中。我尝

我们的一个电子邮件解析脚本在使用imap函数时遇到问题:

致命错误:调用undefined 函数imap_open()

IMAP是绝对启用的,它是用php编译的,并显示在phpinfo()中,当执行
get\u loaded\u extensions()
extension\u loaded(“IMAP”)
时,这些函数可能无法访问,有什么原因吗

IMAP版本是2007e,PHP是5.3

编辑1:这是在mac服务器(OSX 10.5.7)上运行的。使用imap函数的脚本位于/var/***/中。我尝试使用imap\u open在/Library/WebServer/Document(web根目录)中放置一个测试文件,详细信息完全相同,并且似乎可以工作

它在PHP更新之前的工作方式-有任何理由让它停止工作吗?我知道我可以将电子邮件脚本移动到webserver documents目录中,但我也想知道为什么它会停止以前的工作方式—这可能是php的配置方式吗?

echo get_cfg_var('cfg_file_path');
您可以找到这个php实例使用了哪个php.ini。您可能会看到php apache模块(或者是php cgi?)和php cli版本(由您的cronjob使用)使用不同的.ini文件。
根据您安装php的方式(以及此版本php的编译方式),apache模块还可能解析cli版本没有解析的其他.ini文件。要检查是否是这种情况,请运行

<?php phpinfo(); ?>

在Web服务器中查找“已解析的其他.ini文件”条目。

在任何情况下,您都必须注意cli版本使用的配置包括extension=php\u imap。。。指令。

var_dump(get_extension_funcs('imap'))的输出是什么?太长,无法发布,但它显示了数组中的所有imap函数(71)。(包括imap_open)并将此代码段放在调用imap_open()无法工作的脚本文件中,就在调用imap_open()之前?也就是说,你在var_dump输出中看到imap_open()和“所有到未定义函数imap_open()”同时出现?很好,脚本每半小时运行一次,所以我刚刚在同一目录中创建了一个测试文件-现在将它放在普通类中,应该在5分钟内运行。啊,它甚至没有以与测试脚本相同的方式调用?“每半个小时才运行一次”听起来像是一个工作?这意味着它可以使用一个完全不同的php版本,或者至少是一个完全不同的配置(文件)。回答正确-谢谢。