You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

树莓派4(64位内核)下PHP仅以32位模式运行的配置咨询

树莓派4(64位内核)下PHP仅以32位模式运行的配置咨询

从你给出的一系列测试信息来看,问题的核心其实很明确:你的树莓派虽然启用了64位内核,但用户空间程序环境仍然是32位的——你用file /bin/bash查到bash是32位ARM可执行文件,就说明当前系统的用户态还是32位(armhf架构),而非64位(aarch64),这也是PHP只能以32位模式运行的根本原因。

为什么会出现这种矛盾?

Raspberry Pi OS(原Raspbian)的官方镜像分32位和64位版本。如果你最初安装的是32位镜像,哪怕后来通过修改config.txt开启了64位内核(arm_64bit=1),用户空间的所有程序(包括你安装的PHP)依然是基于32位环境编译的,不会自动切换成64位。

可行的解决办法

方案1:重装为64位Raspberry Pi OS(推荐)

这是最省心也最彻底的解决方式:

  • 去官方下载64位的Raspberry Pi OS镜像(Bullseye或更高版本都可以)
  • 用烧录工具将镜像写入SD卡,重新完成系统安装
  • 之后通过apt安装的PHP默认就是64位版本,再运行php -r 'echo PHP_INT_MAX;'就能得到64位的整数最大值9223372036854775807

方案2:在32位系统中手动编译64位PHP(不推荐普通用户)

这种方式需要搭建64位的编译环境,要么用交叉编译,要么在当前系统中创建64位的chroot环境,步骤繁琐且容易出现兼容性问题,对于非开发人员来说,性价比远不如直接重装64位系统。

验证是否成功切换

等完成操作后,你可以用以下命令确认:

  • 执行file /usr/bin/php,输出应该包含ELF 64-bit LSB executable, ARM aarch64
  • 再次运行php -r 'echo PHP_INT_MAX;',得到64位的整数最大值

备注:内容来源于stack exchange,提问作者xy8000

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.23 08:47:46