怎么快速判断 PHP 是 32 位还是 64位

Swoole Compiler 加密是不支持使用 Debug 版本或 32 位的 PHP 的

对于不想看文档安装Swoole Loader扩展的人,我们提供了 Loader-Helper 安装向导,可能会出现一些按照步骤正确放置扩展后,依旧提示未安装的情况

这个时候就可能是因为你所安装的 PHP 是 32 位的,那么如何快速判断 PHP 是 32 位还是 64位的呢

PHP 百科全书是这么说的

可以输出一个超过 42 亿的整数,如 var_dump(12345678900); 如果类型为 float ,表示 PHP 是 32 位的,无法支持超过 42 亿的整数。 如果类型为 int,表示 PHP 是64位的,可以支持超过 42 亿的整数。

这样是可以的,另外一种也可以查看到的方式就是phpinfo()

<?php
phpinfo(); 

找一下Architecture,如果对应的值为x86则是 32 位的,反之则为 64 位

我又不想它输出12345678900,也不想查看phpinfo(),还有其他办法吗

当然是有的:查看PHP_INT_SIZE的值

据说 32 位 PHP 是 4Bytes,而 64位 PHP 是 8Bytes,我测试也的确是这样,所以就拿这个做判断吧

<?php
if (PHP_INT_SIZE == 4) {
    $bit = 32;
} else {
    $bit = 64;
}

目前 Loader-Helper 安装向导就是这么判断的,加了一个提示

已经更新到线上,防止还有使用 32 位 PHP 的人找不到问题所在

over~

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

扫码关注云+社区

领取腾讯云代金券