XAMPP 7.4.11/Mac Catalina 10.15.7上的PHP-Intl [英] PHP-Intl on XAMPP 7.4.11 / Mac Catalina 10.15.7

查看:82
本文介绍了XAMPP 7.4.11/Mac Catalina 10.15.7上的PHP-Intl的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我最近更新到了在Mac Catalina 10.15.7上运行的XAMPP 7.4.11.XAMPP不附带PHP-Intl.以前,我已经能够下载相应的 PHP 版本并初始化 Intl 代码——这次不行.

I've recently updated to XAMPP 7.4.11, running on Mac Catalina 10.15.7. PHP-Intl does not come installed with XAMPP. Previously, I've been able to download the corresponding PHP version and intialize the Intl code – not this time.

当我尝试'make'intl时,出现以下错误:

When I attempt to 'make' intl, I receive the following error:

/bin/sh /Users/SLaptop/Downloads/php-7.4.11/ext/intl/libtool --mode=compile cc -I@@BITROCK_COMMON_ROOTDIR@@/include  -DU_NO_DEFAULT_INCLUDE_UTF_HEADERS=1 -DU_HIDE_OBSOLETE_UTF_OLD_H=1 -Wno-write-strings -D__STDC_LIMIT_MACROS -DZEND_ENABLE_STATIC_TSRMLS_CACHE=1 -I. -I/Users/SLaptop/Downloads/php-7.4.11/ext/intl -DPHP_ATOM_INC -I/Users/SLaptop/Downloads/php-7.4.11/ext/intl/include -I/Users/SLaptop/Downloads/php-7.4.11/ext/intl/main -I/Users/SLaptop/Downloads/php-7.4.11/ext/intl -I/Applications/XAMPP/xamppfiles/include/php -I/Applications/XAMPP/xamppfiles/include/php/main -I/Applications/XAMPP/xamppfiles/include/php/TSRM -I/Applications/XAMPP/xamppfiles/include/php/Zend -I/Applications/XAMPP/xamppfiles/include/php/ext -I/Applications/XAMPP/xamppfiles/include/php/ext/date/lib -I/include  -DHAVE_CONFIG_H  -g -O2   -c /Users/SLaptop/Downloads/php-7.4.11/ext/intl/collator/collator_sort.c -o collator/collator_sort.lo
 cc -I@@BITROCK_COMMON_ROOTDIR@@/include -DU_NO_DEFAULT_INCLUDE_UTF_HEADERS=1 -DU_HIDE_OBSOLETE_UTF_OLD_H=1 -Wno-write-strings -D__STDC_LIMIT_MACROS -DZEND_ENABLE_STATIC_TSRMLS_CACHE=1 -I. -I/Users/SLaptop/Downloads/php-7.4.11/ext/intl -DPHP_ATOM_INC -I/Users/SLaptop/Downloads/php-7.4.11/ext/intl/include -I/Users/SLaptop/Downloads/php-7.4.11/ext/intl/main -I/Users/SLaptop/Downloads/php-7.4.11/ext/intl -I/Applications/XAMPP/xamppfiles/include/php -I/Applications/XAMPP/xamppfiles/include/php/main -I/Applications/XAMPP/xamppfiles/include/php/TSRM -I/Applications/XAMPP/xamppfiles/include/php/Zend -I/Applications/XAMPP/xamppfiles/include/php/ext -I/Applications/XAMPP/xamppfiles/include/php/ext/date/lib -I/include -DHAVE_CONFIG_H -g -O2 -c /Users/SLaptop/Downloads/php-7.4.11/ext/intl/collator/collator_sort.c  -fno-common -DPIC -o collator/.libs/collator_sort.o
/Users/SLaptop/Downloads/php-7.4.11/ext/intl/collator/collator_sort.c:349:26: error:
      use of undeclared identifier 'TRUE'
        collator_sort_internal( TRUE, INTERNAL_FUNCTION_PARAM_PASSTHRU );
                                ^
/Users/SLaptop/Downloads/php-7.4.11/ext/intl/collator/collator_sort.c:543:26: error:
      use of undeclared identifier 'FALSE'
        collator_sort_internal( FALSE, INTERNAL_FUNCTION_PARAM_PASSTHRU );
                                ^
2 errors generated.
make: *** [collator/collator_sort.lo] Error 1

我看到过去有几个用户遇到过PHP-Intl的问题.不过,似乎没有一致的补救措施.有人对这个初学者有什么建议吗?

I see several users have experienced issues with PHP-Intl in the past. There doesn't appear to be a consistent remedy, though. Does anyone have any suggestions for this beginner?

推荐答案

好的,我能够提出一个解决方案.不过,这并不漂亮.

Ok, I was able to come up with a solution. It wasn't pretty, though.

PHP-Int分离出了ICU实用程序,因此很难将该扩展添加到XAMPP的已安装PHP版本中.

PHP-Int has separated out ICU utilities, making the extension difficult to add to XAMPP’s installed version of PHP.

这次我可以通过在Mac的CLI中使用Macports来做到这一点:

I was able to do it this time by using Macports, in Mac's CLI:

sudo端口安装php74-intl

sudo port install php74-intl

然后转到

/opt/local/lib/php/extensions/no-debug-non-zts-20090626/intl.so [php文件夹可能有一个数字,例如php74]

/opt/local/lib/php/extensions/no-debug-non-zts-20090626/intl.so [php folder may have a number, like php74]

将intl.so文件复制到

copy the intl.so file into

/Applications/xampp/xamppfiles/lib/php/extensions/no-debug-non-zts-20190902/[日期会有所不同]

/Applications/xampp/xamppfiles/lib/php/extensions/no-debug-non-zts-20190902/ [date will vary]

更改PHP.ini文件以包含intl.so文件.

Change the PHP.ini file to include the intl.so file.

而且有效……这次,无论如何!

And it worked ... this time, anyway!

这篇关于XAMPP 7.4.11/Mac Catalina 10.15.7上的PHP-Intl的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆