首页 > 解决方案 > 如何在 macOS Mojave 上启用 PHP Intl 扩展?

问题描述

我正在尝试在 macOS Mojave 上安装 Magento (2.3.0)。Magento 节目PHP Extension intl.不见了。

我尝试了以下方法来解决:

  1. 使用复制 php.inicp /etc/php.ini.default php.ini
  2. 删除了“;” 前extension=php_intl.dll
  3. 重启阿帕奇sudo apachectl restart

但上述并没有解决。

在检查php -v时,我看到以下错误:

PHP Warning:  PHP Startup: Unable to load dynamic library 
'/usr/lib/php/extensions/no-debug-non-zts-20160303/php_intl.dll' - 
dlopen(/usr/lib/php/extensions/no-debug-non-zts-20160303/php_intl.dll, 
0x0009): dlopen(): file not found: /usr/lib/php/extensions/no-debug- 
non-zts-20160303/php_intl.dll in Unknown on line 0
PHP 7.1.19 (cli) (built: Aug 17 2018 20:10:18) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.1.0, Copyright (c) 1998-2018 Zend Technologies

/usr/lib/php/extensions/no-debug-non-zts-20160303即下只有2个文件opache.soxdebug.so

如何在我的 macOS Mojave 上安装或启用“PHP Extension intl”?

标签: phpmacosphp-extensionmacos-mojave

解决方案


这是一个对我有用的解决方案:

  1. 查找所有已安装的 PHP 版本brew list | grep php
  2. 删除所有版本的 PHP brew remove --ignore-dependencies --force php70 php71 php72(根据您在上面看到的内容)
  3. 安装 PHP brew install php72(我选择了 7.2,7.3 还没有几个供应商支持)
  4. 运行命令which php应该会显示安装 PHP 的路径。复制路径。
  5. 更新您的 bash_profilevi ~/.bash_profile并将此行添加到文件中: export PATH=/usr/local/php5/bin:$PATH
  6. 保存并运行它source ~/.bash_profile
  7. 检查是否使用php -m | grep intl. 如果安装顺利,我们将看到intl列出。如果不是,则未安装扩展。

我认为从 PHP 7(不确定版本)开始,扩展默认是可用的,我们不需要在php.ini文件中显式启用它们。


推荐阅读