如何在macOS Catalina上安装PHP 7.3下的intl扩展?

11 浏览
0 Comments

如何在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的,并且在这种情况下不起作用。

0
0 Comments

问题:如何在macOS Catalina上的PHP 7.3上安装intl扩展?

原因:在macOS Catalina上安装intl扩展的过程中可能遇到一些问题。

解决方法:

1. 使用Apache和PHP的Docker镜像。可以在Google上搜索"docker apache php github",找到适合的Docker镜像,并将项目设置为Docker容器的一个卷,并使用外部数据库。或者使用该Docker镜像构建一个新的镜像,并在其中包含所需的数据库。

希望这些信息能帮助您解决问题!

0