Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/227.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_open()_Php_Laravel_Email_Imap - Fatal编程技术网

Php 拉维尔工匠事务所;imap_open()

Php 拉维尔工匠事务所;imap_open(),php,laravel,email,imap,Php,Laravel,Email,Imap,目前正在经历一个奇怪的错误或我可能正在监督的事情。(拉威尔框架) 我有一个普通的家庭控制器,在那里我成功地进行了imap_open()连接。(我可以使用浏览器读取整个邮箱) 但一旦我将此函数传输到artisan命令,它将返回我: [Symfony\Component\Debug\Exception\FatalThrowableError] Call to undefined function App\Console\Commands\imap_open() 我遗漏了什么,或者这是完全不可能的?

目前正在经历一个奇怪的错误或我可能正在监督的事情。(拉威尔框架)

我有一个普通的家庭控制器,在那里我成功地进行了imap_open()连接。(我可以使用浏览器读取整个邮箱)

但一旦我将此函数传输到artisan命令,它将返回我:

[Symfony\Component\Debug\Exception\FatalThrowableError]
Call to undefined function App\Console\Commands\imap_open()

我遗漏了什么,或者这是完全不可能的?

您试图通过
Artisan
调用它,但是您需要添加
Artisan
函数,因为
Artisan
不知道您想要做什么,请查看文档部分
编写命令


现在,您正在调用未知的
Artisan
函数,这就是为什么您得到这个您的代码当前位于App\Console\Command命名空间中

因为您在调用imap\U open函数时没有指定名称空间,所以它正在查找App\Console\Command\imap\U open函数,但找不到它

因为它是一个默认的php函数,所以这里的关键是使用\

所以一定要这样称呼它:

 $res = \imap_open(...params);

另外,请确保已为php cli编译/启用imap(因为cli的php.ini与web cli不同)

如上所述,
App\Console\Commands
中缺少该函数,如果添加正确,请使用该代码编辑帖子。imap\u open()是php中的默认函数(这在我的安装中启用,因为相同的代码在浏览器中工作):我确实尝试了这一点,但这导致了对未定义函数imap_open()的:[Symfony\Component\Debug\Exception\FatalThrowableError]调用控制器在web上下文中运行,Artisan命令在cli上下文中运行。两者的php.ini不相同。能否检查是否为php cli启用了imap扩展?是否有快速解决方案来检查此问题?查找php cli使用的php.ini(取决于您的设置),然后检查扩展行没有被注释掉。谢谢,我用IMAP编译PHP的方法解决了这个问题: