XAMPP 上的 Php-intl 安装

问题描述 投票:0回答:4

我需要在我的 Mac 上使用 XAMPP 扩展 intl。

所以我点击了这个链接:

在 Mac Lion 10.8 的 XAMPP 上安装 Php-intl

http://lvarayut.blogspot.it/2013/09/installing-intl-extension-in-xampp.html

我总是重新启动我的 apache 服务器,但没有安装扩展。因为如果我启动:

php -m | grep intl #should return 'intl'

返回空

没有它我就无法启动的命令是针对composer和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的问题

有人可以帮我解决这个问题吗? 我如何安装这个扩展?

谢谢

php macos apache cakephp
4个回答
37
投票

以下步骤对我有帮助,以防万一您使用的是 OSX

步骤来自 http://www.phpzce.com/blog/view/15/installing-intl-package-on-your-mac-with-xampp

  1. 检查设置了哪个 php 路径,即

    root$: which php
    
  2. 如果您在 Mac 上使用 xampp,则应该是

    /Applications/XAMPP/xamppfiles/bin/php 
    

    但如果是

    /usr/bin/php 
    

    你需要更改你的 OSx php

    root$: PATH="/Applications/XAMPP/xamppfiles/bin:${PATH}" 
    
  3. 安装icu4c

    root$: brew install icu4c 
    
  4. 通过 PECL 安装 Intl

    root$: sudo pecl update-channels 
    root$: sudo pecl install intl 
    
  5. 您可以检查Intl是否安装成功

    root$: php -m | grep intl #should return 'intl' 
    

完成

==============================

注:

  • 来自

    /Applications/XAMPP/xamppfiles/etc/php.ini
    文件添加/取消注释
    extension=intl.so
    行的扩展列表。并重新启动阿帕奇。谢谢@pazhyn

  • 在安装“intl”之前,如果您尚未安装Autoconf,则必须安装它。谢谢@Digant

    • 通过Homebrewbrew install autoconf automake 或
    • 通过运行以下命令

      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-*
      

13
投票

我在使用 Moodle 时遇到了 intl 问题,我通过执行以下操作解决了这个问题:

  1. 重新运行 XAMPP 安装程序(如果您手头没有安装程序,请从此处下载)并勾选“XAMPP 开发人员文件”XAMPP installer
  2. 使用您的终端并进入 XAMPP 的二进制文件夹
    $ cd /Applications/XAMPP/bin
  3. 使用 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
    
  4. $ cd ../etc
    在那里你将拥有你的
    php.ini
    ,你必须添加
    extension=intl.so
    在我的系统上,我在第959行之后添加了该行,你可以通过搜索
    php_intl
  5. 找到它
  6. 最后从 XAMPP GUI 重新启动 Apache Web 服务器。

希望这对您有用!


8
投票

我在使用 XAMPP 时也遇到了同样的问题。 我尝试了几个答案但没有成功。 可以解决降低替代库http://php-osx.liip.ch/的问题。 这个库 php 已经安装了 intl 和其他几个包。 下载后转到xampp中的httpd.conf,LoadModule php5_module指向/usr/local/php5/libphp5.so中的这些包


0
投票

我是 macOS 14 Sonoma 和 XAMPP 8.2.4。

按照上述步骤运行时出现错误

sudo pecl install intl 

错误输出:

[...]    
configure: WARNING: unrecognized options: --with-icu-dir
[...]
/private/var/tmp/pear/temp/intl/intl_error.h:24:10: fatal error: 'ext/standard/php_smart_str.h' file not found
#include <ext/standard/php_smart_str.h>
         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2 errors generated.
make: *** [php_intl.lo] Error 1
ERROR: `make' failed

如上所述,一切都按照上面的描述安装,尝试了几个小时,我在这里有点迷失了。有什么想法吗?

谢谢!

© www.soinside.com 2019 - 2024. All rights reserved.