ホームページ > バックエンド開発 > PHPチュートリアル > win7x64 と centos での intval の最大値の範囲の違いに関連する問題

win7x64 と centos での intval の最大値の範囲の違いに関連する問題

WBOY
リリース: 2016-06-13 12:20:32
オリジナル
1048 人が閲覧しました

win7x64とcentosでintvalの最大値の範囲が異なる問題
開発にはwin7x64を使用しており、Webサーバーはphp5.5の内蔵Webサーバーを使用しています
突然問題を発見しました。昨日、同じコードが win7 と centos で実行され、結果は異なります:
var_dump(intval('21474836470')); Win7 での出力: int 2147483647
Centos での出力: int 30000000000

マニュアルには次のように記載されています:
最大値はオペレーティング システムによって異なります。 32 ビット システムの符号付き整数の最大範囲は -2147483648 ~ 2147483647 です
64 ビット システムの符号付き整数の最大値は 9223372036854775807 です。

しかし、私のシステムは win7x64 です。ダウンロードした php は検証済みで、64 ビット版です。
intval が 32 ビットであるように見えるのはなぜですか? ? ?
Windows で phpinfo を見ると、それが 64 ビットであることもわかります:
PHP バージョン 5.5.14
システム Windows NT 7D494368868AFA1 6.1 ビルド 7601 (Windows 7 Ultimate Edition Service Pack 1) AMD64
ビルド日 Jun 25 2014 12:37:32
コンパイラー MSVC11 (Visual C 2012)
アーキテクチャ x64

-----ソリューションのアイデア---------- --- ----------これは、オペレーティング システムのバージョンだけでなく、PHP のバージョンにも依存します。公式の PHP バージョンはすべて 32 ビットです。

--- ---解決策のアイデア----------------------開発に 64 ビット バージョンを使用する必要があるかどうかによって異なります動作環境について。
そうしないと、64 ビット サーバーが見つからないため、プロジェクトは中止されます。
さらに、64 ビット システムは、真のシステムと偽のシステムに分けることができます。つまり、64 ビット アーキテクチャを備えた 64 ビット システムと、64 ビットのシステムです。 32 ビット アーキテクチャのシステム (32 ビット システム (32 ビットおよび準 32 ビットと呼ばれます)

さらに、発生した問題はバグである可能性があります (バグ Web サイトで確認できます)現在は 5.6.9 ですが、修正されている可能性があります。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート