【发布时间】:2020-06-20 19:55:45
【问题描述】:
这正式把我逼疯了!我正在尝试为 imap 函数使用 laravel 包,并且我已经在那里安装了所有东西,但是我收到了 imap_open 的缺失类错误
我知道这意味着 imap 模块在 php 级别没有安装,或者有问题。
我已将 php.ini 文件编辑为具有 extension=imap,现在当我从终端 CLI 运行任何 php 命令时,我得到 PHP Warning: PHP Startup: Unable to load dynamic library 'imap' (tried: /usr/local/lib/php/pecl/20190902/imap (dlopen(/usr/local/lib/php/pecl/20190902/imap, 9): image not found), /usr/local/lib/php/pecl/20190902/imap.so (dlopen(/usr/local/lib/php/pecl/20190902/imap.so, 9): image not found)) in Unknown on line 0
当我导航到 user/local/lib/php 时,我有一个 7.4 文件夹,其中我有一个 conf.d 文件夹、pear.conf 文件、php-fpm.consf 文件、php-fpm.d 文件夹和php.ini 文件
此时我需要做什么?
【问题讨论】:
-
@num8er 是的,我做到了,我能够将 imap.so 文件移动到本地文件夹并取消注释 php.ini 文件中的文件。仍然在此项目的目录中键入
php -m不显示 imap -
似乎
php -v会显示它与 7.4 不同 -
@num8er 好的,如果我运行 php-v 它会显示版本 7.3.9,但在此之前我收到启动错误,使用
code signature in (/usr/local/lib/php/pecl/20190902/imap.so) not valid for use in process: mapped file has no cdhash, completely unsigned? Code has to be at least ad-hoc signed.)) in Unknown on line 0加载动态库“imap” -
imap.so 你说的我不知道是哪个版本的php。但我建议将其从 pecl 文件夹中删除(如果再次出现,则从配置中删除)。然后只需在下面的答案中执行步骤,我已经在本地完成并且可以正常工作。