我正試圖編譯64位系統上的32位PHP安裝的PHP擴展。不過,我得到的時候重啓Apache以下警告:將64位Debian上的PHP擴展編譯爲32位PHP安裝
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
我使用這個命令編譯:
/opt/lampp/bin/phpize; CFLAGS=-m32 CPPFLAGS=-m32 CCASFLAGS=-m32 ./configure --enable-spotify --with-php-config=/opt/lampp/bin/php-config; make && make install
的標誌應該確保其編譯爲32位。我有gcc-multilib
和g++-multilib
安裝
當它完成編譯(這本日誌:http://pastebin.com/MqgGgyzv)我做下面的命令:
file /opt/lampp/lib/php/extensions/no-debug-non-zts-20090626/spotify.so
,並返回
/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
所以這顯然是不正確編譯它,但我沒有看到我做錯了什麼。
嘗試這種解決方案。這個對我有用。 >如何在使用32位XAMPP時在64位Linux上安裝PECL PHP擴展http://montenasoft.com/zh-CN/blog/how-install-pecl-php-extension-64bit-linux-while-you-are-using- 32bit-xampp – 2012-12-20 16:53:00