PHP / Server: какую архитектуру я использую? - PullRequest
1 голос
/ 06 января 2011

Как я могу узнать, использую ли я 64-битный сервер или 32-битный сервер? А как построен установленный PHP (в 32- или 64-битном режиме)?

Я получаю, например, следующую информацию о сервере с uname:

Linux #1 (here are some unnecessary information) x86_64

Ответы [ 3 ]

3 голосов
/ 10 декабря 2012

file cmd должен дать вам ответ, я пробовал на ox-s и Centos 6.3 - см. Вывод ниже.Довольно ясно:

os-x: $ file / usr / local / zend / bin / php / usr / local / zend / bin / php: Mach-O исполняемый файл i386

CentOS: $файл / usr / bin / php-cgi / usr / bin / php-cgi: исполняемый 64-разрядный LSB ELF, x86-64, версия 1 (SYSV), динамически связанный (использует общие библиотеки), для GNU / Linux 2.6.18, раздели

1 голос
/ 06 января 2011

Ну, 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.

1 голос
/ 06 января 2011

x86_64 будет отображаться только если вы используете 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-битной компиляцией.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...