7

Apache 2.4.4、mysql 5.6.12、および php 5.4.12 を含む WampServer 2.0 をインストールしました。PHP_INT_MAX を echo すると、2147483647 が返されました。echo phpinfo() もあり、アーキテクチャは x64 を示しています。私のphpは64ビットですよね?64 ビット整数をサポートするには、PHP が必要です。PHP_INT_MAX を 9223372036854775807 にする必要があります。

誰か助けてくれませんか?ありがとう

4

5 に答える 5

10

あなたがWindows OSを実行している場合、wampServerはあなたがそうであることを示唆しています.これがあなたの答えです:

Windows x86_64 では、PHP_INT_MAX は 2147483647 です。これは、基になる C コードで long が 32 ビットであるためです。

これは、Windows が 64 ビットの int をサポートしていないという意味ではありません:int64_tは存在しますが、PHP AFAIK では使用されていません。私はなんとかこのリンク
を思いつきました。そのページには、コードに64ビットintのサポートを追加するために使用できるコードがいくつかあります

于 2013-07-24T14:39:39.040 に答える
4

ファイルRequestUtil.phpで、次のチェックを行います。

if (strlen((string) PHP_INT_MAX) < 19) {
    // Looks like we're running on a 32-bit build of PHP.  This could cause problems because some of the numbers
    // we use (file sizes, quota, etc) can be larger than 32-bit ints can handle.
    throw new \Exception("The Dropbox SDK uses 64-bit integers, but it looks like we're running on a version of PHP that doesn't support 64-bit integers (PHP_INT_MAX=" . ((string) PHP_INT_MAX) . ").  Library: \"" . __FILE__ . "\"");
}

コメントアウトして、そこからハッキングしてみてください。

私があなたなら、整数ではなく文字列を使用して独自の Dropbox API 実装を作成します。

PS :でも、これは私がしていることなので、楽しんでいます :)

于 2013-07-24T15:01:30.430 に答える
1

「vendor/dropbox/dropbox-sdk/lib/Dropbox」
に移動し、RequestUtil.php の行 19 ~ 23 をコメントします。

このセクションにコメントしてください:

/*if (strlen((string) PHP_INT_MAX) < 19) {
    // Looks like we're running on a 32-bit build of PHP.  This could cause problems because some of the numbers
    // we use (file sizes, quota, etc) can be larger than 32-bit ints can handle.
    throw new \Exception("The Dropbox SDK uses 64-bit integers, but it looks like we're running on a version of PHP that doesn't support 64-bit integers (PHP_INT_MAX=" . ((string) PHP_INT_MAX) . ").  Library: \"" . __FILE__ . "\"");
}*/

それでおしまい。

于 2016-05-08T03:02:33.627 に答える
1

PHP7 を試してください - 現在のマスターhttp://windows.php.net/downloads/snaps/master/。64 ビット ビルドは、64 ビット Windows のすべての機能を利用できるようになりました。

于 2015-05-25T00:27:12.300 に答える
-1

私はphp7を試してみましたが、うまくいきました:

running php.exe -r "echo PHP_INT_MAX;"

そしてそれは出力します9223372036854775807

于 2015-12-09T21:57:45.773 に答える