PHP编译器在Raspberry Pi 4 64位内核上使用32位架构

btxsgosb  于 2023-02-03  发布在  PHP
关注(0)|答案(1)|浏览(104)

我的树莓派4上的PHP编译器只使用32位而不是64位。我仔细检查了我的内核架构。所有的东西都配置为64位...
我需要添加额外的配置来编译64位php代码吗?

PHP测试(在我的树莓派4上)

$php -r 'echo PHP_INT_MAX;'

2147483647(32位)

PHP测试(在我的PC上,64位)

php -r 'echo PHP_INT_MAX;'

9223372036854775807(64位)

PHP版本(在我的树莓派4)

php -v
    • 结果**:

PHP 8.1.13(客户端)(内置版本:2022年11月26日14:29:42)(不限成员名额)
版权所有(c)PHP集团
Zend引擎v4.1.13,版权所有(c)Zend技术
包含Zend OPcache v8.1.13,版权所有(c),由Zend Technologies提供

unix名称(在我的Raspberry Pi 4上)

uname -a

Linux随机文件5.10.103-v8 +#1529 SMP抢占时间2022年3月8日星期二12:26:46 GMTaarch64GNU/Linux
我已经更新到PHP 8.1.13没有任何效果。

在Siguza注解后编辑

file /bin/bash

bin/bash:ELF32位LSB可执行文件,ARM,EABI5版本1(SYSV),动态链接,解释器/lib/ld-linux-armhf.so.3,适用于GNU/Linux 3.2.0,构建ID [sha1]= 3e5e2847bbc51da2ab313bc53d4bdcff0faf2462,已剥离
我不知道,为什么这个评论是打印出"ELF32位LSB可执行文件"。

在Nate Eldredge评论后编辑

hostnamectl

静态主机名:拉斯贝里皮
图标名称:计算机
机器编号:082e8c9e42614daa82110aXXXXXXXXXX
开机编号:95b916d95e7d47df92342XXXXXXXXXX
操作系统:Raspbian GNU/Linux 11(靶心)
内核:Linux 5.15.84版本8以上
架构:臂64

6ojccjat

6ojccjat1#

溶液(参见Nate Eldredge的评论):

我遵循这个german article将内核升级到64位。Nate Eldredge给出了一个可能的解决方案。
摘自该文章(译文):“随着从Raspberry Pi OS切换到64位,我们的CPU和操作系统都在64位上,而大多数程序仍然在32位上运行”。所以确实,只有你的内核是64位的,而不是PHP这样的Userland程序。你也许可以安装64位PHP作为Multiarch,但AFAIK这并不是Raspbian官方支持的,而且即使能用也很痛苦。如果你重新开始安装一个完全64位的发行版,从长远来看你会更快乐。比如Ubuntu就能很好地工作。

相关问题