我的树莓派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
1条答案
按热度按时间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就能很好地工作。