gpt4 book ai didi

php - 将 64 位 debian 上的 PHP 扩展编译为 32 位 PHP 安装

转载 作者:搜寻专家 更新时间:2023-10-31 21:15:21 25 4
gpt4 key购买 nike

我正在尝试为 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-multilibg++-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

所以它显然没有正确编译,但我不明白我做错了什么。

最佳答案

编译没问题,但是链接器无意中创建了 64 位 .so。

解决方案是在您的 LDFLAGS 中也包含“-m32”:

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

关于php - 将 64 位 debian 上的 PHP 扩展编译为 32 位 PHP 安装,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10066587/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com