PHP 5.1.4 für Mac OS X Tiger

andi.reidies

andi.reidies

Aktives Mitglied
Thread Starter
Dabei seit
08.02.2005
Beiträge
420
Reaktionspunkte
0
Hi Folks,

auf meiner Homepage findet ihr aktuelle Pakete für:

* MySQL 5.0.22 und
* PHP 5.1.4

beides vorkompiliert für PPC. Für Intel liefere ich die Sourcen mit aus, da ich z.Zt. Probleme beim Bauen der Software mittels der ./configure Skripte habe (cross compile).

Beide Pakete wurden für G4 optimiert.

Das PHP Paket ist ausserdem mit den Hardened-PHP-Patches versehen, bringt Unterstützung für eAccelerator (ein Vorab-Kompiler für PHP) und XDebug (eine Debugger-Unterstützung - für Komodo) mit.

Rausgefallen ist das PostgreSQL Modul, da ich PostgreSQL 8.1.4 zwar erfolgreich kompilieren, beim Anlegen von Datenbanken jedoch auf Fehler gestossen bin......... und persönlich MySQL vorziehe.......

P.S.: ein PHPInfo hab ich auch online gestellt.....

viel spass
andi
 
Wie hast du das mit dem Cross-Compiling versucht? Laut entropy.ch muss
dass in etwa so aussehen:
Code:
CFLAGS="-arch ppc -arch i386 -isysroot /Developer/SDKs/MacOSX10.4u.sdk"

HTH
 
moses_78 schrieb:
Wie hast du das mit dem Cross-Compiling versucht? Laut entropy.ch muss
dass in etwa so aussehen:
Code:
CFLAGS="-arch ppc -arch i386 -isysroot /Developer/SDKs/MacOSX10.4u.sdk"
HTH

Hallo,

zuerst hab ich es mit

Code:
CFLAGS='-arch i386 -mtune=pentium-m -isysroot $(SDK)' \
CXXFLAGS='-arch i386 -mtune=pentium-m -isysroot $(SDK)' \
./configure --target=i386-apple-darwin8.0.0 --host=ppc-apple-darwin8.0.0

respektive

Code:
CFLAGS='-arch ppc -mtune=7450 -isysroot $(SDK)' \
CXXFLAGS='-arch ppc -mtune=7450 -isysroot $(SDK)' \
./configure --target=ppc-apple-darwin8.0.0 --host=ppc-apple-darwin8.0.0

probiert.

Bekomme jedoch vom configure-Skript Fehlermeldungen, dass es die zum Testen der Settings erzeugten Binaries im Falle des i386 Builds natürlich nicht ausführen kann.

Dann hab ich die Einstellungen, die Apple in einer TechNote zur Verfügung stellt, ausprobiert:

Code:
CFLAGS='-arch ppc -arch i386 -isysroot $(SDK)' \
 CXXFLAGS='-arch ppc -arch i386 -isysroot $(SDK)' \
./configure

das funtioniert soweit, doch beim Linken von einigen static-Bibliotheken laufen dann Aufrufe an 'ar', welcher mit den Fat-Binaries nicht zurecht kommt.

Hier müsste dann auf 'lipo' oder 'libtool' umgestellt werden, was bei der Masse an Makefiles nicht gerade ne triviale Task ist.

In der Apple TechNote wird ausserdem drauf hingewiesen, dass der Compile mittels '-arch ppc -arch i386' schief gehen kann, wenn die Software nicht darauf vorbereitet ist und bspw. einige Annahmen über Big- vs. Little-Endian macht etc. pp. In solchen Fällen sollten dann getrennte i386 und ppc-Builds angestossen werden.

Doch gerade bei diesen Versuchen komme ich über das ./configure-Skript nicht drüber weg.....

vllt. hat ja jmd. ne rettende Idee.......(ich wäre für jeden Hinweis dankbar)

gruss
andi
 
*schieb*

Hi Folks,

ich habe neue Pakete auf meine Homepage gestellt:

* MySQL
* PostgreSQL (funktioniert jetzt und wird über launchd autom. gestartet)
* PHP

Leider immer noch PPC-only (dafür optimiert für >G4), da die Kompile-Skripte der OSS Basis noch nicht zu 100% durchläuft (ist ne menge "holz").

Als "Sahnehäubchen" hat das PHP Modul nun nur noch ne minimale Konfiguration einkompiliert (siehe minimale PHPInfo). Alle anderen Module liegen als nachladbare Extensions im Verzeichnis /usr/local/php5/lib/ext (siehe Directory Listing).

Um ein Modul zu konfigurieren, einfach eine Datei namens extension-<ModulName>.ini ins Verzeichnis /usr/local/php5/lib/ext einstellen - bspw. für das bz2-Modul:

Code:
extension-bz2.ini:
----------------------------
extension="/usr/local/php5/lib/ext/bz2"

Das Modul wird dann nach dem Neustarten des Apache automatisch aktiv.

Vorteil dieser Lösung: es können nur die notwendigen Module ins PHP konfiguriert werden - ihr könnt euch quasi den eigenen Funktionsumfang zusammenstellen !!

Die Sourcen und Build-Skripte sind auch mit dabei - für diejenigen, die gern wissen möchten, wie es funktioniert ;)

Im Gegensatz zu den Entropy.ch Paketen sind hier nahezu ALLE (!!!) PHP-Extensions aktiviert und kompiliert worden. Was fehlt sind bspw. Treiber für kommerzielle Datenbank-Systeme ala Oracle, Sybase etc. pp. und einige (Linux-) Spezialitäten......(die unter OS X noch nicht laufen).

Was alles konfiguriert wurde, könnt ihr im Header der PHPInfo ansehen.

Weitere Planung:

* Integration der aktuellen Dokumentationen im HTML Format inkl. Einbindung in die OS X Hilfe.

* Integration von Client-Apps (MySQL, PostgreSQL)

* Zusammensetzen aller Teilpakete zu einem Meta-Install-Package mit möglicher Auswahl, was installiert werden soll (ggf. inkl. Auswahl zu aktivierender PHP Extensions)

* Universal-Binary Support (wie gross ist hier die Nachfrage ?? wer kann hier helfen -> evtl. mittels SSH Zugang zu einem Intel Mac für die Kompilation ??)


gruss und schönes WE
andi
 
andi.reidies schrieb:
Hi Folks,

ich habe neue Pakete auf meine Homepage gestellt:

* MySQL
* PostgreSQL (funktioniert jetzt und wird über launchd autom. gestartet)
* PHP
Klasse Arbeit! Danke! :)
 
Hi,

beachtet bitte mein Blog-Post hier !

Ansonsten viel spass damit....

P.S.: sobald ich Fortschritte mache, poste ich das natürlich wieder hierher....

so stay tuned ;)

andi
 
Zurück
Oben Unten