首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >检查代码是否在64位PHP上运行

检查代码是否在64位PHP上运行
EN

Stack Overflow用户
提问于 2011-03-25 02:37:36
回答 5查看 42.1K关注 0票数 46

有谁知道在PHP中检查脚本是以32位还是64位运行的方法?目前我使用的是PHP 5.3.5。

理想情况下,我想写一个函数,这样我的代码就可以看起来像这样:

代码语言:javascript
复制
if( is_32bit() === true ) {
    do_32bit_workaround();
}
do_everything_else();

有人有什么想法吗?

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2011-03-25 02:59:11

检查PHP_INT_SIZE常量。它将根据寄存器的大小而有所不同(即32位与64位)。

在32位系统中,PHP_INT_SIZE应该是4,对于64位系统,它应该是8

有关更多详细信息,请参阅http://php.net/manual/language.types.integer.php

票数 100
EN

Stack Overflow用户

发布于 2016-03-30 07:59:45

你可以像这样写一个函数:

代码语言:javascript
复制
function is_32bit(){
  return PHP_INT_SIZE === 4;
}

然后,您可以使用您发布的示例代码:

代码语言:javascript
复制
if ( is_32bit() ) {
    do_32bit_workaround();
} else {
    do_everything_else();
}
票数 13
EN

Stack Overflow用户

发布于 2019-11-19 17:17:58

下面是一个可以从控制台使用的示例

对于Windows:

代码语言:javascript
复制
php -r "echo (PHP_INT_SIZE == 4 ? '32 bit' : '64 bit').PHP_EOL;" && php -i | findstr Thread

对于Linux

代码语言:javascript
复制
php -r "echo (PHP_INT_SIZE == 4 ? '32 bit' : '64 bit').PHP_EOL;" && php -i | grep Thread

输出示例:

代码语言:javascript
复制
64 bit
Thread Safety => disabled
票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5423848

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档