Ich versuche, die PHP-Erweiterung pdo_odbc für PHP auf meinem Mac zu aktivieren, auf dem PHP 5.3 läuft. Hier ist, was ich getan habe, um es zum Laufen zu bringen:
Ich habe UnixODBC mit brew installiert
%Vor%Die Quelle für PHP 5.3.8 wurde heruntergeladen. Im Terminal habe ich zum Ordner pdo_odbc navigiert. Dann tat folgendes:
%Vor%Es ist ein Fehler aufgetreten.
%Vor% Basierend auf einigen Blogs habe ich ZEND_MOD_END
durch {NULL,NUll, NULL}
ersetzt und ran make erneut gemacht. Diesmal ist es eingehalten worden.
Dann habe ich "sudo make install" ausgeführt und das installierte die Erweiterung an der richtigen Stelle. Ich habe php.ini modifiziert, um es zu aktivieren. Und es zeigt sich in phpInfo ()
So weit, so gut. Aber wenn ich anfange, einfache Tests auszuführen, bekomme ich Fehler über jeden anderen Versuch
%Vor%Dies wurde ausgelöst, als ich diesen Code ausführen wollte:
%Vor%Diese Zeile verursacht die Ausnahme.
%Vor%Hat jemand Erfahrung damit, pdo_odbc auf dem Mac zu verwenden? Ich würde wirklich gerne diese Verlängerung arbeiten lassen. Vorschläge ?
Vielleicht ist es erwähnenswert, dass Apple iODBC (über UnixODBC) für Mac OS X gewählt und es mit Jaguar (10.2) gebündelt hat. Sie sollten das neueste Update von der Website iodbc.org erhalten, da Apple es nie behalten hat mit den offiziellen Projekt-Patches. Ich empfehle, sowohl die Frameworks und so zu installieren, als auch die separaten Patches auf die Apple-gebündelten Header und Dylibs anzuwenden.
Die mit UnixODBC verbundenen früheren Malloc-Probleme wurden durch die Umstellung auf iODBC gelöst. Ich weiß nicht, dass dies für Sie der Fall sein wird, aber es scheint eine kleine Investition zu sein, die Sie versuchen sollten.
(ObDisclaimer: Ich arbeite für OpenLink Software ; wir unterhalten und unterstützen das iODBC-Projekt. Ich persönlich erhalte nichts, wenn Sie diese Option verfolgen .)
Haben Sie Ihre php.ini (oder gleichwertig) überprüft, um zu sehen, ob Ihre 'memory_limit' Einstellung hoch genug ist?
Fehler 12 scheint mit der Erschöpfung des Speichers in Zusammenhang zu stehen, aber ich bin nicht sicher, ob er mit einer Run-Away-Schleife in den Tests, die Sie gerade ausführen, oder einfach mit zu vielen sehr großen Zuordnungen zusammenhängt. Überprüfen Sie, was ein phpinfo () Dump über Ihre aktuelle 'memory_limit'-Einstellung sagt, und überprüfen Sie dann, ob dies den Fehler korrigiert.
Siehe auch: Ссылка
Ich persönlich bevorzuge MacPorts, obwohl ich glaube, dass die meisten Leute Fink bevorzugen. Der einfachste Weg, um funktionsreichere Versionen von Standard-Unix-Paketen für OSX zu erhalten, ist die Verwendung von MacPorts oder Fink.
%Vor%Ich benutze VirtualBox mit einem Ubuntu Server Distro auf meinem MacBook.
Seit ich festgestellt habe, dass ein OSX-Update Ihre Konfiguration ruinieren kann.
Funktioniert hervorragend für die Entwicklung und Sie müssen sich keine Sorgen machen, dass Abhängigkeiten korrekt portiert werden!