[英]PHP/Server: What architecture do I use?
如何確定我使用的是64位服務器還是32位服務器? 以及如何構建已安裝的PHP(以32位或64位模式)?
例如,我得到帶有uname
的以下服務器信息:
Linux #1 (here are some unnecessary information) x86_64
文件cmd應該給您一個答案,我在ox-s和Centos 6.3上嘗試過-請參見下面的輸出。 很清楚:
os-x:$文件/ usr / local / zend / bin / php / usr / local / zend / bin / php:Mach-O可執行文件i386
CentOS:$ file / usr / bin / php-cgi / usr / bin / php-cgi:用於GNU / Linux的ELF 64位LSB可執行文件,x86-64版本1(SYSV),動態鏈接(使用共享庫) 2.6.18,剝離
僅當您運行64位內核時,才會顯示x86_64。 否則,它將是較舊的/ 32位體系結構之一,例如386或686。對於PHP,如果您正在運行發行版隨附的版本,則應針對與系統其余部分相同的體系結構進行編譯,換句話說,在64位Linux發行版上,默認情況下應具有64位PHP。
對於基於Debian的系統,您可以查詢軟件包以獲取信息:
dpkg -p php5-cli
哪個返回
[...snip...]
Maintainer: Ubuntu Core Developers <ubuntu-devel-discuss@lists.ubuntu.com>
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。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.