memcache.so, falsche Architektur in Unbekannt in Zeile 0 in MAMP

memcache.so, falsche Architektur in Unbekannt in Zeile 0 in MAMP

Ich installiere Memcache von pecl und bekomme memcache.so. Danach füge ich php.ini hinzu, bekomme aber einen Fehler.

[12. August 2010 13:02:24] PHP-Warnung: PHP-Startup: Dynamische Bibliothek „/Applications/MAMP/bin/php5.3/lib/php/extensions/no-debug-non-zts-20090626/memcache.so“ kann nicht geladen werden – dlopen(/Applications/MAMP/bin/php5.3/lib/php/extensions/no-debug-non-zts-20090626/memcache.so, 9): kein passendes Bild gefunden. Gefunden: /Applications/MAMP/bin/php5.3/lib/php/extensions/no-debug-non-zts-20090626/memcache.so: mach-o, aber falsche Architektur in Unbekannt in Zeile 0

Ich habe es versucht

$file /Applications/MAMP/bin/php5.3/lib/php/extensions/no-debug-non-zts-20090626/memcache.so

ich habe

/Applications/MAMP/bin/php5.3/lib/php/extensions/no-debug-non-zts-20090626/memcache.so: Mach-O 64-Bit-Paket x86_64

Ich verwende Mac OS x 10.6.4 64bits

Antwort1

Ich vermute, es liegt wahrscheinlich daran, dass PHP nicht in 64-Bit erstellt wurde. Wenn Sie also versuchen, ein 64-Bit-Modul in eine 32-Bit-Anwendung zu laden, funktioniert das natürlich nicht.
Sie können dies überprüfen, indem Sie filePHP Binary ausführen (oder PHP Module, wenn es als Modul verwendet wird).

Antwort2

Die Hauptantwort hat mir sehr dabei geholfen herauszufinden, dass ich falsch kompiliert hatte, aber um das Modul richtig zu kompilieren, hat das hier für mich funktioniert:

$ cd your-php-module
$ /Applications/MAMP/bin/php5/bin/phpize
$ ./configure CFLAGS="-arch i386" --with-php-config="/Applications/MAMP/bin/php5/bin/php-config"
$ make
$ make install

verwandte Informationen