wake-up-neo.net

Installation von Yosemite/El Capitan php-Gd + mcrypt

Wie installiere/aktiviere php-Gd und mcrypt in Yosemite 10.10 - PHP 5.5.14 build?

Beachten Sie, dass die folgenden Schritte das neueste PHP 5.5.x installieren

Um zu überprüfen, ob Sie Gd und mcrypt installiert haben, verwenden Sie $ php -m, um die in Modulen kompilierte Anzeige anzuzeigen. Fahren Sie fort, wenn Sie die gewünschten Module vermissen, und lesen Sieakzeptierte Antwort.


Gd

Also hat Apple Gd installiert (und Sie verwenden den PHP-Build, der in Ordnung ist), aber keine Unterstützung für PNG.

Es fehlt definitiv "full" Gd (mit png-Unterstützung) module, wenn: imagecreatefrompng () function fehlt.

"Call to undefined function imagecreatefrompng()"

enter image description here


Mcrypt

installieren Sie Brew mitAkzeptierte Antwortund lassen Sie einen Teil der Gd-Installation aus (sofern Sie dies nicht benötigen), und führen Sie die folgenden Schritte aus:

  1. suche - $ brew search mcrypt
  2. wählen Sie die gewünschte Version von PHP aus
  3. installieren - $ brew install php55-mcrypt
  4. bestätige mit $ php -m | grep mcrypt

Möchten Sie zwischen PHP Versionen wechseln?

Check out brew-php-switcher und folge den Anweisungen.

50
Kyslik

Sie haben recht, Yosemites eingebautes PHP kommt ohne PNG- und FreeType-Unterstützung.
Update 2015/10 für El Captian: Mit OS X 10.11 ist die Unterstützung für El Capitan PNG zurück, aber FreeType fehlt noch.

Lösung

Verwenden Sie den Homebrew-Paket-Manager, um mühelos ein vollständiges PHP= zu erstellen und zu installieren und es in der Apache-Konfiguration zu ersetzen. Der gesamte Vorgang dauert nur etwa zehn Minuten, wenn Sie die folgenden Schritte ausführen.

Ein kurzer (aber vollständiger) Spaziergang durch

(Hinweis 1: Ich verwende Homebrew hier ein Paketverwaltungssystem für OS X. Wenn Sie mit MacPorts - einem anderen Paketverwalter - vertraut sind, können Sie das erreichen gleiche Ergebnisse mit diesem System. Es ist auch möglich, meine Homebrew-Lösung parallel zu einer vorhandenen MacPorts-Installation auf Ihrem Computer zu verwenden.)
(Hinweis 2: Wenn Sie alle Details zum Installationsprozess lesen möchten, schauen Sie sich die Homebrew-Basisinstallation und die Homebrew PHP installation information. Aber das brauchen Sie wirklich nicht, wenn Sie diese Schritte ausführen.)

Jetzt aber los...

Installieren Sie zuerst Xcode aus dem App Store . Wenn Sie es bereits haben, überprüfen Sie den App Store erneut, um sicherzustellen, dass Sie die neueste Version haben!

Nun müssen Sie die Xcode Command Line Tools installieren. Öffnen Sie dazu ein Terminal und geben Sie Folgendes ein:

xcode-select --install

Mit dem nächsten Befehl wird das Homebrew-Paketmanagersystem installiert:

Ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

Das Skript erklärt, was es tun wird und hält dann an, bevor es es tut.

Der nächste einzugebende Befehl ist eine Art Systemstatus-Test:

brew doctor

Hiermit werden die Grundlagen der Homebrew-Installation überprüft.
Ich habe eine Warnung erhalten "Sie haben MacPorts oder Fink installiert:/opt/local/bin/port ..." die ich erfolgreich ignoriert habe. ;)

Richten Sie nun den Homebrew/Dupes-Tap ein, der die Abhängigkeiten aufweist, die wir benötigen:

brew tap homebrew/dupes

Richten Sie den Homebrew-/Versions-Tap ein, der auch die Abhängigkeiten aufweist, die wir benötigen:

brew tap homebrew/versions

Führen Sie dann den folgenden Befehl aus:

brew tap homebrew/homebrew-php

Jetzt können Sie endlich PHP erstellen. Für eine Liste der verfügbaren Konfigurationsoptionen können Sie eine der folgenden Aktionen ausführen:

brew options php55
brew options php56

Aber ich war in Ordnung, nur die Standardeinstellungen zu verwenden.
Geben Sie dazu [~ # ~] je nach Bedarf einen [~ # ~] dieser beiden Werte ein:

brew install php55
brew install php56

(Dies dauert eine Weile, bitte haben Sie etwas Geduld!)

bei der Installation von php56 (5.6.x) auf Yosemite (10.10.5) ist ein Fehler aufgetreten. Bitte beachten Sie dieses Problem auf Github. verwenden brew install php56 --without-ldap stattdessen.

Wenn Sie einen Fehler vom Typ "OpenSSLs können nicht gefunden werden" haben Sie die Xcode Command Line Tools nicht installiert, wie ich Ihnen am Anfang sagte. ;) Mach weiter, installiere sie und führe den letzten Befehl erneut aus.

PHP wird jetzt erstellt und das Skript wird mit einigen Details zu seiner Verwendung enden:

Öffnen Sie httpd.conf (sollte sich unter /private/etc/Apache2/httpd.conf befinden) und aktivieren Sie PHP durch Hinzufügen von [~ # ~] eins [ ~ # ~] dieser beiden Zeilen, je nachdem, welche PHP Version Sie gerade installiert haben:

LoadModule php5_module /usr/local/opt/php55/libexec/Apache2/libphp5.so
LoadModule php5_module /usr/local/opt/php56/libexec/Apache2/libphp5.so

Vergessen Sie nicht , vorhandene LoadModule php5_module ... -Zeilen aus Yosemites eigenem = auszukommentieren PHP Version!

Starten Sie Apache neu

Sudo apachectl restart

Ihre neue php.ini-Datei finden Sie unter: /usr/local/etc/php/5.5/php.ini

Viel Spaß!

81
Jpsy

Die Antwort von @Jpsy ist gut, aber es gibt noch eine andere Möglichkeit von den Jungs von liip: hier . Dies ist ein PHP Paket, das für Yosemite vorgefertigt ist (ältere Versionen funktionieren auch), aber es ist nur eine Zeile Code:

curl -s http://php-osx.liip.ch/install.sh | bash -s 5.5

Danach ist alles wie erwartet fertig. Die Konfiguration, die mit dieser Installation verbunden ist, eignet sich gut für die Entwicklung von Symfony 2, sollte jedoch bei anderen Anwendungsfällen problemlos funktionieren.

Wenn Sie auch die aktualisierte PHP CLI verwenden möchten, aber nicht die PHP Version, die mit dem Betriebssystem geliefert wird, verwenden möchten, können Sie sie auch hinzufügen .bash_profile oder ähnlich diese Codezeile:

export PATH=/usr/local/php5/bin:$PATH

21

Ich habe nicht genug Vertreter, um einen Kommentar abzugeben, aber wenn Sie OS X Server für Yosemite (Version 4 aus dem App Store) verwenden, müssen Sie die Datei bearbeiten: 

/library/server/web/config/Apache2/httpd_server_app.conf

meines sieht jetzt so aus und bestätigt, dass es funktioniert, nachdem PHP 5.6 von Homebrew verwendet wurde.

#LoadModule php5_module libexec/Apache2/libphp5.so
LoadModule php5_module /usr/local/opt/php56/libexec/Apache2/libphp5.so
3
user1618341

Standard Apache wird mit Yosemite geliefert, um die Datei danach zu aktualisieren

Sudo brew install php55

ist in /etc/Apache2/httpd.conf

Beachten Sie, dass der Speicherort der php.ini ebenfalls geändert wird. Die Standardversion von Yosemite befindet sich in der Datei /etc/php.ini, die Version mit Homebrew-Version in /usr/local/etc/php/5.5/php.ini.

0
a7d0rn