Search code examples
phpmacosapachecakephp

Php-intl installation on XAMPP


I need to use the extension intl on my mac with XAMPP.

So I have followed this links:

Php-intl installation on XAMPP for Mac Lion 10.8

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

I restart always my apache server but isn't installed the extension. Because if I launch:

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

return empty

The command that I can't launch without it is for composer and cakephp like this:

composer create-project --prefer-dist -s dev cakephp/app cakephp3

Return me this error:

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].

So I need to solve the problem of ext-intl with the extension intl.

Can someone help me with this problem? How can I install this extension?

Thanks


Solution

  • These below steps helped me, Just in case if you are using OSX

    Steps from http://www.phpzce.com/blog/view/15/installing-intl-package-on-your-mac-with-xampp

    1. Check which php path is set i.e.

      root$: which php
      
    2. If you are using xampp on your mac it should be

      /Applications/XAMPP/xamppfiles/bin/php 
      

      but if its

      /usr/bin/php 
      

      you need to change your OSx php

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

      root$: brew install icu4c 
      
    4. Install Intl via PECL

      root$: sudo pecl update-channels 
      root$: sudo pecl install intl 
      
    5. You can check if Intl was installed successfully

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

    Done

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

    Note:

    • From extensions list in /Applications/XAMPP/xamppfiles/etc/php.ini file Add / Uncomment extension=intl.so line. And restart Apache. Thanks @pazhyn

    • Before installing "intl" you have to install Autoconf if you have not installed it. Thanks @Digant

      • via Homebrew brew install autoconf automake or
      • by running below commands

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