【问题标题】:How to find out if a shared hosting is running 32 or 64 bit - with php如何确定共享主机是运行 32 位还是 64 位 - 使用 php
【发布时间】:2012-01-17 07:56:36
【问题描述】:

是否可以使用 PHP 识别 Linux 32 位或 64 位?

phpinfo() 

返回

Linux infong 2.4 #1 SMP Mon Oct 10 09:34:36 UTC 2011 i686 GNU/Linux 

它是共享主机,所以我不能使用命令行。

【问题讨论】:

  • 为什么重要为什么重要?我是个问题,如果可以,请回答。
  • 我看到你无法访问命令行,但你还能执行shell脚本吗?试试看[shell_exec()](http://php.net/manual/en/function.shell-exec.php)。如果你能做到这一点,你可以很容易地输入一个 shell 语句来获取它。
  • i686 表示它在 32 位模式下运行。关于 PHP,你应该检查 PHP_INT_MAX
  • It's shared hosting so I cant use command line. - 一个有趣的:)
  • 感谢您的建议! @tangrs 我有两个版本的程序,不知道要安装什么。别担心,我不想破解 CIS 服务器。

标签: php linux cpu


【解决方案1】:

做一个简单的测试:

var_dump(is_int( 9223372036854775807 ));

对于 32 位环境,它将返回 false,因为此数字远大于最大 32 位整数。对于 64 位环境,它将返回 true。


或者按照 cmets 中建议的 mario 使用 PHP_INT_MAX。

echo (PHP_INT_MAX == 2147483647)?'32-bit':'64-bit';

或者使用 PHP_INT_SIZE:

echo (PHP_INT_SIZE * 8) . '-bit';

【讨论】:

    猜你喜欢
    • 2020-03-10
    • 2011-04-04
    • 1970-01-01
    • 2014-07-28
    • 2011-04-19
    • 2010-10-23
    • 2010-09-19
    • 2010-11-27
    • 1970-01-01
    相关资源
    最近更新 更多