Можно ли идентифицировать Linux 32 или 64 бит, используя PHP?
phpinfo()
возвращается
Linux infong 2.4 #1 SMP Mon Oct 10 09:34:36 UTC 2011 i686 GNU/Linux
Это общий хостинг, поэтому я не могу использовать командную строку.
Простой тест:
var_dump(is_int( 9223372036854775807 ));
Для 32-битной среды он вернет false, так как это число намного больше, чем максимальное 32-битное целое. Для 64-битной среды он вернет true.
Или используйте PHP_INT_MAX, как указано в комментариях к марио.
echo (PHP_INT_MAX == 2147483647)?'32-bit':'64-bit';
Или используйте PHP_INT_SIZE:
echo (PHP_INT_SIZE * 8) . '-bit';