webentwicklung-frage-antwort-db.com.de

Installation von CakePHP 3.0: Intl-Erweiterung fehlt im System

Ich versuche mit den CakePHP-Dokumenten, 3.0-beta2 mit Composer zu installieren, aber ich habe folgende Fehlermeldung erhalten

cakephp/cakephp 3.0.x-dev requires ext-intl * -> the requested PHP extension intl is missing from your system

Ich weiß jedoch genau, dass intl installiert ist (es wird auf phpinfo angezeigt). Ich verwende PHP 5.4.33/Apache 2.4.10.1

Vielen Dank im Voraus für Ihre Ideen.

59
Juan Carlos

Ich stand heute vor demselben Problem. Sie müssen die Erweiterung intl PHP in Ihrer PHP -Konfiguration (.ini) aktivieren.

Solution Xampp (Windows)

  1. /xampp/php/php.ini öffnen
  2. Ändern Sie ;extension=php_intl.dll in extension=php_intl.dll (entfernen Sie das Semikolon)
  3. Kopieren Sie alle /xamp/php/ic*.dll-Dateien nach /xampp/Apache/bin.
  4. Starten Sie Apache in der Xampp-Systemsteuerung neu

Lösung Linux (Danke an Annamalai Somasundaram)

  1. Installieren Sie die php5-intl-Erweiterung Sudo apt-get install php5-intl

    1.1. Alternativ können Sie Sudo yum install php5-intl verwenden, wenn Sie CentOS oder Fedora verwenden.

  2. Apache Sudo service Apache2 restart neu starten

Lösung Mac/OSX (Homebrew) (Dank an Deizel)

  1. Installieren Sie die php5-intl-Erweiterung brew install php56-intl
  2. Wenn Sie No available formula for php56-intl erhalten, folgen Sie den Anweisungen this .
  3. Apache Sudo apachectl restart neu starten

Eventuell können Sie composer install ausführen, um zu überprüfen, ob es funktioniert. Wenn dies nicht der Fall ist, wird ein Fehler ausgegeben.

108
Tijme

In Ubuntu 12.04 stand ich vor demselben Problem

Installiert: Sudo apt-get install php5-intl

Apache: Sudo service Apache2 restart neu gestartet

14
AnNaMaLaI

OS X Homebrew (Mai 2015):

Die Erweiterung intl wurde aus den php5x-Hauptformeln entfernt, sodass Sie mit dem Flag --enable-intl nicht mehr kompilieren können.

Wenn Sie das neue Paket nicht finden können:

$ brew install php56-intl
Error: No available formula for php56-intl

Befolgen Sie diese Anweisungen: https://github.com/Homebrew/homebrew-php/issues/1701

$ brew install php56-intl
==> Installing php56-intl from homebrew/homebrew-php
8
deizel

Bei Verwendung von MAMP

1 Gehe zu Terminal

vim ~/.bash_profile

i

export PATH=/Applications/MAMP/bin/php/php5.6.2/bin:$PATH

Ändern Sie php5.6.2 in die mit MAMP verwendete PHP-Version

Drücken Sie ESC, Geben Sie :wq, Ein, und drücken Sie die Eingabetaste

source ~/.bash_profile

welche php

2 Mac-Ports installieren

https://www.macports.org/install.php

Sudo port install php5-intlODERSudo port install php53-intl

cp /opt/local/lib/php/extensions/no-debug-non-zts-20090626/intl.so /Applications/MAMP/bin/php5.3/lib/php/extensions/no-debug-non-zts-20090626/

{take a good look at the folder names that u use the right ones}

3 Erweiterung hinzufügen

Fügen Sie nun die Erweiterung zu Ihrer php.ini-Datei hinzu:

extension=intl.so

Nützlicher Link:https://Gist.github.com/irazasyed/5987693

7
Gilko

Kurze Antwort: Aktivieren Sie die Intl-Erweiterung in php_cli.ini. Danke an @ndm für seinen Beitrag.

2
Juan Carlos

Für Ubuntu-Terminal:

Bitte folgen Sie den Schritten:

Schritt 1:  

cd ~

Schritt -2: Führen Sie die folgenden Befehle aus

Sudo apt-get install php5-intl

Schritt -3: Anschließend müssen Sie Apache neu starten

Sudo-Dienst Apache2 neu starten


Für Windows (XAMPP):

Suchen Sie die Php.ini-Datei:

/xampp/php/php.ini

Aktualisieren Sie die Datei php.ini mit dem Semikolon remove (;) wie folgt:

; extension = php_intl.dll zu extension = php_intl.dll

und speichern Sie die php.ini-Datei.

Danach musst du 

Starte den xampp mit xampp control neu.

1
kamlesh

In meinem Fall ist die PHP-Version 7.1.x unter mac OSX . Ich habe den Befehl intl mit dem Befehl brew installiert und installiere php71-intl . Platzierung der Erweiterung = intl. Innerhalb von php.ini war also überhaupt keine Wirkung. Schließlich habe ich nach Erweiterungsinstallationsverzeichnis gesucht und dort habe ich intl.so gesehen und diesen Pfad (Erweiterung =/usr/local/Cellar/php71-intl/7.1.11_20/intl.so) in mein php gestellt. ini datei und es hat mein problem gelöst.

1
sh6210

In der Fehlermeldung wird eindeutig das Problem angegeben. Sie benötigen die installierte Intl-Erweiterung.

Schritt 1: Installieren Sie PHP in Ihrer komfortablen Version

$ Sudo apt-get install php-intl

schritt 2:

Wenn die Erweiterung XAMPP Server intl bereits installiert ist, müssen Sie diese Erweiterung aktivieren, um das Kommentarzeichen unterhalb der Zeile in der Datei php.ini zu kommentieren. Die Php.ini-Datei befindet sich unter c:\xampp\php\php.ini oder dort, wo Sie XAMPP installiert haben.

Vor dem unkommentieren:

Erweiterung = php_intl.dll; Erweiterung = php_mbstring.dll

Nach unkommentieren:

extension = php_intl.dll extension = php_mbstring.dll

1
venkatSkpi

In meinem Fall habe ich eigentlich nicht versucht, cakephp lokal auszuführen, sondern ich habe versucht, lokal automatisch mit composer zu aktualisieren (weil ich mit schreibenden Plugins spiele, die Sie mit composer installieren). Da ich es nicht einmal lokal ausführen kann, könnte ich die Anforderungen einfach ignorieren, indem Sie das Flag --ignore-platform-reqs hinzufügen. 

php composer.phar update --ignore-platform-reqs

1
Richard Kersey

Wenn Sie die neueste Version Ubuntu 16.04 oder höher verwenden, tun Sie dies einfach 

Sudo apt-get install php-intl

Starten Sie dann Ihren Apache neu

Sudo service Apache2 restart
0

Ich verwende Mac OS High Sierra und keiner davon hat für mich funktioniert. Aber nachdem ich viel gesucht hatte, fand ich einen, der funktionierte!

Dies mag trivial erscheinen, aber in der Tat haben vor einigen Monaten einige clevere Leute Änderungen am Brew-Repository vorgenommen, also einfach: brew install php71-intl zeigt einen Fehler an, dass ein solches Rezept nicht existiert. 

Zum Glück gibt es das. In einem anderen Brew-Repo gibt es temporäre Korrekturen. Alles was Sie tun müssen, ist:

brew tap kyslik/homebrew-php
brew install kyslik/php/php71-intl

SOURCE: http://blastar.biz/2018/04/14/wie-um-neu-able-php-intl-extension-for-php-7-1-einsatz-xampp-on-macos-high-sierra/

Ich hatte das gleiche Problem in Windows. Der Fehler war, dass ich mehrere Versionen von PHP und die Umgebungsvariablen wurden auf den falschen Pfad von PHP geroutet siehe Bildbeispiel

0
Jamez

Intl Means: Internationalisierungserweiterung, die es Programmierern ermöglicht, UCA-konforme Sortierreihenfolgen sowie die Formatierung von Anzahl, Währung, Datum und Uhrzeit in PHP -Skripts durchzuführen.

Zur Aktivierung von PHP kann Intl mit PECL verwendet werden.

pecl install intl

Auf einem einfachen RHEL/CentOS/Fedora kann PHP Intl mit yum installiert werden

yum install php-intl

Unter Ubuntu kann PHP Intl mit apt-get installiert werden

 apt-get install php5-intl

Starten Sie den Apache-Dienst neu, damit die Änderungen wirksam werden.

Das ist es

0
raju gupta

Mach das

In XAMPP ist die Intl-Erweiterung enthalten, Sie müssen jedoch die Erweiterung = php_intl.dll in php.ini aufheben und den Server über die XAMPP-Systemsteuerung neu starten. __ In WAMP ist die Intl-Erweiterung standardmäßig aktiviert, funktioniert aber nicht. Damit dies funktioniert, müssen Sie in den php-Ordner wechseln (standardmäßig C:\wamp\bin\php\php {version}). Kopieren Sie alle Dateien, die wie icu * .dll aussehen, und fügen Sie sie in das Apache-Bin-Verzeichnis C ein:\wamp\bin\Apache\apache {version}\bin. Starten Sie dann alle Dienste neu und es sollte OK sein.

wenn Sie XAMPP verwenden, machen Sie das 1. Deaktivieren Sie XAMPP 2. Die php.ini wurde geändert in c /: xampp/php/php.ini 3. Intl-Erweiterung ist enthalten, aber Sie müssen die Erweiterung = php_intl.dll in php.ini auskommentieren und den Server über die XAMPP-Systemsteuerung neu starten.

0
Swastika

Für diejenigen, die Package not found Fehler erhalten, versuchen Sie Sudo apt-get install php7-intl und führen Sie composer install in Ihrem Projektverzeichnis aus.

0
Kunok