it-swarm.com.de

ImageMagick Brew-Installation mit PHP Modul in Mac OS X

Ich habe ImageMagick mit brew install imagemagick installiert. Alles hat gut funktioniert und ich kann jeden ImageMagick-Befehl von der Terminal/Befehlszeile aus ausführen.

Wenn ich jetzt versuche, die ImageMagick-Klassen in PHP zu verwenden, erhalte ich eine Fehlermeldung Class 'Imagick' not found in .... Ich denke, das liegt daran, dass das ImageMagick-Modul nicht geladen ist.

Könnte mir jemand helfen, dieses Ding in PHP zum Laufen zu bringen? Vielen Dank!

Zusätzliche Information:
Mac OS X-Version: 10.8: Berglöwe
PHP Version: 5.3.13

24
Wouter Konecny

Ihre ImageMagick-Installation reicht nicht aus. Sie benötigen auch das Imagick-Paket (möglicherweise als php72-imagick oder ähnlich für das Home Brew bezeichnet).

Imagick erledigt die Arbeit nicht selbst, sondern ist eine native PHP Erweiterung zum Erstellen und Ändern von Bildern mithilfe der ImageMagick-API .

Suchen Sie über brew search imagick nach dem genauen Namen des Pakets.

29
Kurt Pfeifle

Ich habe das nur gemacht, nachdem ich viel experimentiert habe. Für den Moment scheint dies der Weg für php 5.3 zu sein:

brew tap josegonzalez/php
brew tap homebrew/dupes
brew install php53-imagick

Keine Ahnung, wer Jose Gonzalez ist, aber anscheinend sind wir in seiner Schuld ...

44
Daniel Feder

Ich benutze Yosemite. Für mich ist die Lösung eine Kombination aus der Antwort und dem Kommentar, die hier bereits aufgeführt sind.

brew install imagemagick
brew install php55-imagick

Bearbeiten Sie /etc/php.ini, um Imagick einzuschließen

extension=/usr/local/Cellar/php55-imagick/{version of php55-imagick}/imagick.so

Beispiel:

extension = /usr/local/Cellar/php55-imagick/3.1.2_1/imagick.so
18
Mr. 14

Ich hatte das gleiche Problem. Dies sind die Schritte, die für mich gearbeitet haben, wenn Sie PHP 5.6 verwenden

  1. brew install php56-imagick
  2. brew install imagemagick
  3. find /usr/local/Cellar -name "imagick.so"
    Kopieren Sie den Pfad aus der Ausgabe dieses Befehls in Ihre php.ini-Datei
    z.B. extension=/usr/local/Cellar/php56-imagick/3.3.0_2/imagick.so Speichern Sie Ihre Datei. Überprüfen Sie nun noch einmal, ob die imagemagick-Klasse existiert
  4. php -r "print(class_exists('imagick'));"

Brew-Symlinking hat bei mir nicht funktioniert, daher musste ich den vollständigen Pfadnamen in die Datei php.ini eingeben, damit es funktioniert. Hoffe das hilft

16
Frank Hag

php72-imagick ist jetzt veraltet, da imagick Teil von php binary ist. Verwenden Sie pecl, um imagick zu installieren, z.

brew install php
brew install imagemagick
pecl install imagick
5
anytimecoder

Versuchen:

brew install homebrew/php/php53-imagick
4
diazwatson

Ok, nach einer Stunde habe ich es herausgefunden. Der Mac erteilt dem pecl-Skript keine Berechtigungen zum Erstellen eines PHP -Verzeichnisses. Um dies zu beheben, gehen Sie wie folgt vor.

brew install imagemagick
Sudo pecl install imagick .  
php --ini | grep "Loaded Configuration File"
Add extension=imagick.so under extensions.

Die Installation wird abgeschlossen. Dann zum Testlauf:

php -r "print(class_exists('imagick'));"
1
Jamie Ross

Ich habe nach einer korrekten Möglichkeit gesucht, imagick auf Mojavie zu installieren, und eine Lösung gefunden, die vollständig funktioniert hat.

  1. brauen installieren imagemagick @ 6
  2. brew Install [email protected]
  3. Header installieren (Xcode-select --install)
  4. Laden Sie den imagick-Quellcode von folgender Adresse herunter: https://pecl.php.net/package/imagick
  5. Öffne das Terminal und gib den entpackten Ordner imagick-3.4.3/imagick-3.4.3 ein (in meinem Fall)
  6. Führen Sie den Befehl phpize aus
  7. ./konfigurieren
  8. make

Und jetzt, wenn ein Fehler auftritt, wie MagicWand nicht gefunden, bearbeiten Sie die Datei Makefile und suchen Sie nach CPPFLAGS = -I/usr/local/opt/imagemagick @ 6/include /. Überprüfen Sie, ob im Include-Ordner kein anderer Ordner vorhanden ist. In meinem Fall sollte es so aussehen: CPPFLAGS = -I/usr/local/opt/imagemagick @ 6/include/ImageMagick-6

speichern Sie und kehren Sie zum Terminal zurück und geben Sie make (nach Abschluss) Sudo make install ein

imagick.so befindet sich in imagick-3.4.3/imagick-3.4.3/modules

dieser hat für mich gearbeitet: 

brew install imagemagick       # If it's not already installed
mkdir /usr/local/lib/php/pecl  # On my system this dir didn't exist and this caused pecl install to fail
pecl install imagick

Hier

1
Ramyar

Ich hatte den gleichen Fehler, als ich imagemagick und php71-imagick bereits installiert hatte.

brew upgrade imagemagick - hat den Trick für mich gemacht.

Möglicherweise benötigen Sie Sudo:

Sudo brew upgrade imagemagick

Möglicherweise müssen Sie Apache/php-fpm/<other webserver> neu starten.

0
Henry

Ich kann aus Gründen der Reputation keine Kommentare hinzufügen, aber zu dieser Antwort hinzufügen:

antwortete am 12. April um 16:52

Grzegorz Miśkiewicz

Ich habe eine fehlende php.h-Datei erhalten, also laut Installation von xdebug auf MacOs Mojave - 'php.h'-Datei nicht gefunden Ich habe die erforderliche Datei über den folgenden Befehl installiert:

Sudo-Installationsprogramm -pkg /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg -target /

0
Maticb

Von: php Fehler: Klasse 'Imagick' nicht gefunden

Haben Sie extension=imagick.so zu Ihrer php.ini- (oder /etc/php.d/imagick.ini) -Datei hinzugefügt?

0
Jill-Jênn Vie