如何在macOS Catalina上安装PHP 7.3下的intl扩展?
如何在macOS Catalina上安装PHP 7.3下的intl扩展?
我有一台运行Catalina的Mac电脑。默认安装了PHP 7.3.11,我没有对其进行任何修改。\n
% php -v PHP 7.3.11 (cli) (built: Jun 5 2020 23:50:40) ( NTS )
\n我试图运行`composer install`来在本地设置一个CakePHP 4项目。但是出现了以下错误:\n
% composer install Loading composer repositories with package information Installing dependencies (including require-dev) from lock file Your requirements could not be resolved to an installable set of packages. Problem 1 - Installation request for cakephp/cakephp 4.1.6 -> satisfiable by cakephp/cakephp[4.1.6]. - cakephp/cakephp 4.1.6 requires ext-intl * -> the requested PHP extension intl is missing from your system. Problem 2 - cakephp/cakephp 4.1.6 requires ext-intl * -> the requested PHP extension intl is missing from your system. - cakephp/debug_kit 4.3.7 requires cakephp/cakephp ^4.1 -> satisfiable by cakephp/cakephp[4.1.6]. - Installation request for cakephp/debug_kit 4.3.7 -> satisfiable by cakephp/debug_kit[4.3.7].
\n我创建了`/etc/php.ini`文件,并且我可以看到它已被加载:\n
% php --ini Configuration File (php.ini) Path: /etc Loaded Configuration File: /etc/php.ini Scan for additional .ini files in: (none) Additional .ini files parsed: (none)
\n我创建的`php.ini`是Mac随附的`php.ini.default`的副本。其中的以下行被注释了:\n
;extension=intl
\n我取消了注释并另存为`/etc/php.ini`。\n现在,当我执行`php`时,我得到另一个错误:\n
PHP Warning: PHP Startup: Unable to load dynamic library 'intl' (tried: /usr/lib/php/extensions/no-debug-non-zts-20180731/intl (dlopen(/usr/lib/php/extensions/no-debug-non-zts-20180731/intl, 0x0009): dlopen(): file not found: /usr/lib/php/extensions/no-debug-non-zts-20180731/intl), /usr/lib/php/extensions/no-debug-non-zts-20180731/intl.so (dlopen(/usr/lib/php/extensions/no-debug-non-zts-20180731/intl.so, 0x0009): dlopen(): file not found: /usr/lib/php/extensions/no-debug-non-zts-20180731/intl.so)) in Unknown on line 0
\n如何在这个环境下安装`intl`扩展?我看到说这个版本的PHP应该默认包含它。这是苹果特有的问题吗,还是有其他解决方法?\n我找到了一个解决方案(https://medium.com/@agaetis/solved-install-intl-php-extension-for-xampp-and-magento-for-macos-mojave-41fa42336fc6),使用`brew`,但这是针对PHP 7.1的,并且在这种情况下不起作用。