以往 PHP 只有 32 位元版本,後來又推出了 64 位元版本。
在一般情況,PHP 使用 32 位元版本,大致上不會有什麼問題。
但是 64 位元版本的 PHP,可以支援 64 位元的整數、大檔案、記憶體限制……等。
但要如何確認我們的 PHP 是 32 位元或是 64 位元呢?
若是 command line 模式
php -v
若是網頁模式
<?php phpinfo(); ?>
看起來,好像很合理,對吧?但很不幸的是,不對,這方式是看不出來 PHP 是 32 位元版本還是 64 位元版本
正確來講,應該是要檢查 PHP_INT_SIZE 或 PHP_INT_MAX 這兩個變數的值
command line 模式
php -r "echo PHP_INT_SIZE;" php -r "echo PHP_INT_MAX;"
網頁模式
<?php echo "PHP_INT_SIZE: ". PHP_INT_SIZE; echo "<br>"; echo "PHP_INT_MAX: ". PHP_INT_MAX; ?>
如果 PHP_INT_SIZE 的值:
- 4,表示 PHP 是 32 位元版本
- 8,表示 PHP 是 64 位元版本
如果 PHP_INT_MAX 的值是:
- 2147483647,表示 PHP 是 32 位元版本
- 9223372036854775807,表示 PHP 是 64 位元版本