2012-04-08 9 views
3

Ich versuche eine PHP-Erweiterung für eine 32-Bit-PHP-Installation auf einem 64-Bit-System zu kompilieren. Allerdings erhalte ich die folgende Warnung, wenn Neustart Apache:PHP-Erweiterung auf 64bit debian zu 32bit PHP-Installation kompilieren

Warning: PHP Startup: Unable to load dynamic library '/opt/lampp/lib/php/extensions/no-debug-non-zts-20090626/spotify.so' - /opt/lampp/lib/php/extensions/no-debug-non-zts-20090626/spotify.so: wrong ELF class: ELFCLASS64 in Unknown on line 0 

ich alles mit diesem Befehl kompilieren:

/opt/lampp/bin/phpize; CFLAGS=-m32 CPPFLAGS=-m32 CCASFLAGS=-m32 ./configure --enable-spotify --with-php-config=/opt/lampp/bin/php-config; make && make install 

Die Flaggen sollten sicherstellen, dass es zu 32-Bit kompiliert. Ich habe gcc-multilib und g++-multilib

installiert

Wenn es fertig kompiliert (dieses dieses Protokoll: http://pastebin.com/MqgGgyzv) i Sie den folgenden Befehl ein:

file /opt/lampp/lib/php/extensions/no-debug-non-zts-20090626/spotify.so 

und es gibt

/opt/lampp/lib/php/extensions/no-debug-non-zts-20090626/spotify.so: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, not stripped 

So ist es eindeutig nicht Kompilieren es richtig, aber ich sehe nicht, was ich falsch mache.

+1

diese Lösung versuchen. Für mich geht das. > Wie man PECL PHP Erweiterung auf 64bit Linux installiert, während Sie 32bit XAMPP verwenden http://montenasoft.com/de/blog/how-install-pecl-php-extension-64bit-linux-while-you-are-using-using- 32bit-xampp –

Antwort

2

Sie kompilieren OK, aber der Linker ist inadvertantly .so eine 64-Bit erzeugt wird.

Die Lösung ist "-m32" in Ihrem LDFLAGS gehören auch:

https://askubuntu.com/questions/85978/building-a-32-bit-app-in-64-bit-ubuntu

+0

Versucht mit diesem '/ opt/lampp/bin/phpize; CXXFLAGS = -m32 CFLAGS = -m32 CPPFLAGS = -m32 CCASFLAGS = -m32 LDFLAGS = -m32 ./configure --enable-spotify --mit-php-config =/opt/lampp/bin/php-config; make && make install' aber ich bekomme immer noch den falschen Dateityp. Dies ist das Protokoll jetzt zurückgegeben: http://pastebin.com/UKshaH27 –

Verwandte Themen