我怎樣才能知道我是使用64位服務器還是32位服務器? 安裝的PHP如何構建(32位或64位模式)?PHP /服務器:我使用什麼架構?
我得到例如以下服務器信息與uname
:
Linux #1 (here are some unnecessary information) x86_64
我怎樣才能知道我是使用64位服務器還是32位服務器? 安裝的PHP如何構建(32位或64位模式)?PHP /服務器:我使用什麼架構?
我得到例如以下服務器信息與uname
:
Linux #1 (here are some unnecessary information) x86_64
x86_64的只會顯示,如果你正在運行64位內核。否則,它會是較老的/ 32位體系結構之一,比如386或686.對於PHP,如果您運行的是發行版隨附的版本,則應該爲與系統其餘部分相同的體系結構編譯它,換句話說,在64位Linux發行版中,默認情況下應該有64位PHP。
對於基於Debian的系統,可以查詢包信息:
dpkg -p php5-cli
返回
[...snip...]
Maintainer: Ubuntu Core Developers <[email protected]>
Architecture: amd64
Source: php5
[...snip...]
例如這個版本的PHP是一個64位編譯。
那麼,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。
file cmd應該給你一個答案,我試過ox-s和Centos 6.3--請參見下面的輸出。很清楚:
OS-X: $文件在/ usr /本地/的Zend /斌/ PHP 在/ usr /本地/的Zend /斌/ PHP:的Mach-O可執行i386的
的CentOS: $文件/usr/bin/php-cgi /usr/bin/php-cgi:GNU/Linux 2.6.18的ELF 64位LSB可執行文件,x86-64,版本1(SYSV),動態鏈接(使用共享庫) ,剝離
謝謝,這帶來了所需的功能。 – Poru 2011-01-06 03:30:37