我需要在我的mac上使用扩展intl和XAMPP。
所以我跟着这个链接:
Php-intl installation on XAMPP for Mac Lion 10.8
http://lvarayut.blogspot.it/2013/09/installing-intl-extension-in-xampp.html
我总是重启我的apache服务器但是没有安装扩展。因为如果我发布:
php -m | grep intl #should return 'intl'
返回空
没有它我无法启动的命令是这样的作曲家和cakephp:
composer create-project --prefer-dist -s dev cakephp/app cakephp3
给我这个错误:
Installing dependencies (including require-dev)
Your requirements could not be resolved to an installable set of packages.
Problem 1
- Installation request for cakephp/cakephp 3.0.*-dev -> satisfiable by cakephp/cakephp[3.0.x-dev].
- cakephp/cakephp 3.0.x-dev requires ext-intl * -> the requested PHP extension intl is missing from your system.
Problem 2
- cakephp/cakephp 3.0.x-dev requires ext-intl * -> the requested PHP extension intl is missing from your system.
- cakephp/bake dev-master requires cakephp/cakephp 3.0.x-dev -> satisfiable by cakephp/cakephp[3.0.x-dev].
- Installation request for cakephp/bake dev-master -> satisfiable by cakephp/bake[dev-master].
所以我需要用扩展名intl来解决ext-intl的问题。
有人可以帮我解决这个问题吗? 我该如何安装此扩展程序?
由于
答案 0 :(得分:30)
以下步骤对我有帮助,以防您使用OSX
http://www.phpzce.com/blog/view/15/installing-intl-package-on-your-mac-with-xampp
的步骤检查设置了哪条php路径,即
root$: which php
如果您在Mac上使用xampp,那么它应该是
/Applications/XAMPP/xamppfiles/bin/php
但如果是
/usr/bin/php
你需要改变你的OSx php
root$: PATH="/Applications/XAMPP/xamppfiles/bin:${PATH}"
安装icu4c
root$: brew install icu4c
通过PECL安装Intl
root$: sudo pecl update-channels
root$: sudo pecl install intl
您可以检查Intl是否已成功安装
root$: php -m | grep intl #should return 'intl'
完成
============================
注意:
从/Applications/XAMPP/xamppfiles/etc/php.ini
文件中的扩展程序列表添加/取消注释extension=intl.so
行。并重新启动Apache。谢谢@pazhyn
在安装" intl"之前你必须安装Autoconf,如果你还没有安装它。谢谢@Digant
运行以下命令
curl -OL http://ftpmirror.gnu.org/autoconf/autoconf-latest.tar.gz
tar xzf autoconf-latest.tar.gz
cd autoconf-*
./configure --prefix=/usr/local
make
sudo make install
cd ..
rm -r autoconf-*
答案 1 :(得分:12)
使用Moodle时我遇到了intl的问题,我通过以下方式解决了这个问题:
$ cd /Applications/XAMPP/bin
使用PHP的软件包管理器通过运行intl
安装$ sudo ./pecl install intl
这应该编译一些东西,如果成功,安装应该完成:
Build process completed successfully
Installing '/Applications/XAMPP/xamppfiles/lib/php/extensions/no-debug-non-zts-20131226/intl.so'
install ok: channel://pecl.php.net/intl-3.0.0
configuration option "php_ini" is not set to php.ini location
You should add "extension=intl.so" to php.ini
$ cd ../etc
在那里,您需要添加php.ini
extension=intl.so
在我的系统上,我在第959行之后添加了一行,您可以通过搜索{{1 }} 希望这适合你!
答案 2 :(得分:5)
我和XAMPP有同样的问题。 我尝试了几个答案但没有成功。 可以解决降低替代库http://php-osx.liip.ch/的问题。 这个库php,已经安装了intl和其他几个包。 下载后转到xampp中的httpd.conf和LoadModule php5_module指向/usr/local/php5/libphp5.so中的这些包
答案 3 :(得分:0)
上述解决方案在我运行后不适用于 PHP 7.4
sudo pecl install intl
然后我收到此错误:
n file included from
fatal error: 'php.h' file not found
#include <php.h>
^~~~~~~
1 error generated.
make: *** [php_intl.lo] Error 1
ERROR: `make' failed