
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 file
PHP 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