2012-01-17 26 views
13

Có thể xác định Linux 32 hoặc 64 bit, sử dụng PHP không?Cách tìm hiểu xem một máy chủ chia sẻ đang chạy 32 hay 64 bit - với php

phpinfo() 

lợi nhuận

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

Nó chia sẻ lưu trữ vì vậy tôi không thể sử dụng dòng lệnh.

+2

Tại sao nó quan trọng? – tangrs

+5

Tại sao nó lại quan trọng? Tôi là một câu hỏi, trả lời nếu bạn có thể. – shift66

+1

Tôi thấy rằng bạn không thể truy cập vào dòng lệnh, nhưng bạn vẫn có thể thực thi các kịch bản lệnh shell không? Hãy thử xem '[shell_exec()] (http://php.net/manual/en/function.shell-exec.php) '. Nếu bạn có thể làm điều này, bạn có thể dễ dàng đấm vào một tuyên bố vỏ để có được nó. –

Trả lời

21

Làm một thử nghiệm đơn giản:

var_dump(is_int(9223372036854775807)); 

Đối với môi trường 32-bit nó sẽ trả về false khi con số này lớn hơn nhiều mà tối đa 32-bit số nguyên. Đối với môi trường 64-bit, nó sẽ trả về true.


Hoặc sử dụng PHP_INT_MAX như mario được đề xuất trong nhận xét.

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

Hoặc sử dụng PHP_INT_SIZE:

echo (PHP_INT_SIZE * 8) . '-bit'; 
Các vấn đề liên quan