【发布时间】:2012-04-08 21:16:08
【问题描述】:
我正在尝试为 64 位系统上的 32 位 PHP 安装编译一个 PHP 扩展。但是,我在重新启动 apache 时收到以下警告:
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 扩展montenasoft.com/en/blog/…
标签: php php-extension