我尝试安装 Moodle 所需的 php 扩展 intl。我使用sudo pecl install intl
时收到以下错误:
/private/tmp/pear/install/intl/intl_error.h:24:10: fatal error: 'ext/standard/php_smart_str.h' file not found
#include <ext/standard/php_smart_str.h>
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1 error generated.
make: *** [php_intl.lo] Error 1
ERROR: `make' failed
当它提示时Specify where ICU libraries and headers can be found [DEFAULT] :
我按下回车键。
我已经安装了 autoconfbrew install autoconf
如何解决这个问题?谢谢!
答案1
正如你所看到的此链接intl 不再维护,并且与 PHP 的更高版本不兼容。它现在包含在最多PHP 发行版。brew 版本包含它。
你应该这样做:
brew install [email protected]
(或最新版本)brew link --overwrite --force [email protected]
- 覆盖路径中的 PHP 二进制文件(见下文,假设您正在使用 bash)(请注意,它需要取代任何其他 PHP 二进制文件)
echo 'export PATH="/usr/local/opt/[email protected]/bin:/usr/local/opt/[email protected]/sbin:$PATH"' >> ~/.bash_profile
- 获取您的 bash 配置文件 (
. ~/.bash_profile
) - 检查 intl 模块 (
php -m | grep intl
)