我怎么能知道我是使用64位服务器还是32位服务器? 以及如何构建已安装的PHP(32位或64位模式)?
我通过uname
获取以下服务器信息:
Linux #1 (here are some unnecessary information) x86_64
答案 0 :(得分:3)
文件cmd应该给你答案,我试过ox-s和Centos 6.3 - 见下面的输出。很清楚:
OS-X: $ file / usr / local / zend / bin / php / usr / local / zend / bin / php:Mach-O可执行文件i386
CentOS的: $ file / usr / bin / php-cgi / usr / bin / php-cgi:ELF 64位LSB可执行文件,x86-64,版本1(SYSV),动态链接(使用共享库),用于GNU / Linux 2.6.18,剥离
答案 1 :(得分:1)
对于基于Debian的系统,您可以在包中查询信息:
dpkg -p php5-cli
返回
[...snip...]
Maintainer: Ubuntu Core Developers <ubuntu-devel-discuss@lists.ubuntu.com>
Architecture: amd64
Source: php5
[...snip...]
e.g。这个版本的PHP是64位编译。
答案 2 :(得分:1)
好吧,x86_64
意味着它是64位版本。
我的uname -a
(-a
显示所有信息)是:
Linux [can't see this] 2.6.35-23-generic #41-Ubuntu SMP Wed Nov 24 11:55:36 UTC 2010 x86_64 GNU/Linux
,所以我知道我在64位系统上。
要测试PHP的构建,我会查看此命令的输出:
php -r "echo phpinfo();"
它会吐出大量的HTML,所以如果你愿意,可以将它传输到一个文件,然后用浏览器查看:
php -r "echo phpinfo();" > PHPinfo.html
我查看了我的内容,并没有对版本或架构说太多。
接下来,让我们看看php -v
说的是什么。我吐了出来:
PHP 5.3.3-1ubuntu9.1 with Suhosin-Patch (cli) (built: Oct 15 2010 14:00:18)
Copyright (c) 1997-2009 The PHP Group
Zend Engine v2.3.0, Copyright (c) 1998-2010 Zend Technologies
with Suhosin v0.9.31, Copyright (c) 2007-2010, by SektionEins GmbH
仍然没有。让我们来探讨Debian的钟表机构:
如果您正在运行Debian衍生产品,请运行:
dpkg -p php5-cli | grep "Architecture"
它应该告诉你PHP的构建架构。我说:
Architecture: amd64
这证实PHP是64位。
祝你好运!只是为了让它更兼容,如果你无法运行dpkg
,就不要害怕; file
就在这里!
运行file {press key to the left of 1}which php5{press key to the left of 1}
告诉您二进制信息。
我明白了:
/usr/bin/php5: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.15, from 'o', stripped
这证实我正在运行64位PHP。