PHP für MacOS erstellen

443
Eray

Ich habe XAMPP verwendet und beschlossen, es zu deinstallieren und die integrierten Apache- und PHP-Module von MacOS zu verwenden. Bei der Deinstallation von XAMPP wurden jedoch versehentlich / usr / bin / php-Dateien und andere PHP-CLI-Dateien gelöscht. Und ich entschied mich, die neueste Version von PHP (5.5.12) zu installieren, anstatt die aktuelle Version (5.4.24) neu zu erstellen. Heruntergeladen und entpacken. Danach wurde dieser Befehl wie in dieser Anleitung beschrieben ausgeführt .

./configure '--with-apxs2=/usr/sbin/apxs' '--enable-cli' '--with-config-file-path=/etc' '--with-zlib=/usr' '--enable-bcmath' '--with-bz2=/usr' '--enable-calendar' '--disable-cgi' '--with-curl=/usr' '--enable-dba' '--enable-ndbm=/usr' '--enable-exif' '--enable-fpm' '--enable-ftp' '--with-gd' '--enable-gd-native-ttf' '--enable-mbregex' '--with-mysql=mysqlnd' '--with-mysqli=mysqlnd' '--with-pear' '--with-pdo-mysql=mysqlnd' '--with-mysql-sock=/var/mysql/mysql.sock' '--with-tidy' '--enable-wddx' '--with-xmlrpc' '--enable-zip' make make install 

Wenn ich phpinfo () überprüfe, ist es immer noch Version 5.4.24. Diese Zeile von meiner httpd.conf

LoadModule php5_module libexec/apache2/libphp5.so

/usr/libexec/apache2/libphp5.so stammt aus der alten Version und ich konnte libphp5.so nicht für die neue Version angeben. Es gibt keine libphp5.so-Datei im Modulverzeichnis.

Wie kann ich PHP-Build mit Apache verwenden?

AKTUALISIEREN

Ergebnisse des Befehls php -v .

PHP 5.5.12 (cli) (built: May 27 2014 05:17:21) Copyright (c) 1997-2014 The PHP GroupZend Engine v2.5.0, Copyright (c) 1998-2014 Zend Technologies 
0

3 Antworten auf die Frage

1
symlink

Als Alternative zur Verwendung der nativen PHP-Installation von Mac empfehle ich Homebrew . Im Gegensatz zu XAMPP müssen Sie nicht in einer restriktiven Shell arbeiten, sodass Sie PHP und andere Module (PHPMyAdmin, Apache usw.) auf dem neuesten Stand halten können.

Da Sie sich nicht mit den fehlerhaften empfindlichen Systemordnern von Mac herumschlagen, müssen Sie sich auch keine Sorgen um die Hölle der Abhängigkeiten machen oder versehentlich Dateien und Ordner löschen. Homebrew lässt Sie nicht aktualisieren, ohne die abhängigen Personen zu aktualisieren, und alles ist in seinen eigenen Repositories enthalten, die als Keller bezeichnet werden.

0
Eray

Libphp5.so wurde gelöscht und erneut installiert. Jetzt scheint es zu funktionieren. Ich bin nicht sicher, warum der Installationsbefehl nicht überschrieben wird.

0
wrksprfct

Ich würde den Aufwand vermeiden, eine neue Version von Apache zu bauen, die der von Apple mitgelieferten Version entspricht. Die von Ihnen erstellte Version stimmt möglicherweise nicht genau mit der von Apple bereitgestellten Version überein. In der Regel nimmt Apple geringfügige Anpassungen an der Open-Source-Software vor, die mit MacOS ausgeliefert wird und die sie schließlich auf http://opensource.apple.com/ veröffentlichen . Daher ist es nicht unmöglich, es selbst nach der Apple-Version zu bauen, es ist nur nervig.

Im Allgemeinen sollten Sie das POSIX-Material, das Apple Ihnen zur Verfügung stellt, auch im Allgemeinen lassen. Sie neigen dazu, Dinge mit Systemaktualisierungen zu überschreiben / zu ändern. (Deshalb bin ich ein Befürworter eines separaten Entwicklungsstacks / einer separaten Umgebung über MacPorts, eine VM usw.)

Ich würde stattdessen empfehlen , die gelöschte Version wiederherzustellen. Es gibt einige Wege, um dorthin zu gelangen:

  • Stellen Sie die fehlenden / anderen Dateien Ihrer letzten Systemsicherung (Time Machine usw.) wieder her.
  • Extrahieren Sie die Originaldateien mit einem Tool wie Pacifist aus den neuesten Betriebssysteminstallationspaketen . Holen Sie sich das neueste Betriebssystem aus dem App Store. Oder fragen Sie einen Freund mit derselben Betriebssystemversion (die ihre Dateien offensichtlich nicht geändert hat).
  • Installieren Sie das Betriebssystem neu, um die geänderten Dateien in ihren ursprünglichen Zustand zurückzusetzen. Dies ist offensichtlich die nuanciertere der Optionen und birgt natürlich auch ein gewisses Risiko (andere Dinge durcheinander bringen), obwohl Apple normalerweise ziemlich gut darin ist, es sicher zu machen.

Mit den ersten beiden Optionen extrahieren Sie die ursprünglichen Dateien / Verzeichnisse, die Sie in ein neues Verzeichnis und dann in diffIhr aktuelles System verschoben haben . Dann werden cpdie Dateien / Verzeichnisse als root via neu angelegt sudo. (Tipp: Verwenden Sie Ihre, historyum herauszufinden, was Sie rmtun.)