我正在使用Win 7,64位和XAMPP安装(ApacheFriends XAMPP版本5.6.3)。
我尝试了在 http://php.net/manual/en/function.fseek.php#112647 给出的功能
但这没有用。它最多只能读取2147483647的字节PHP_INT_MAX。我尝试围绕这个数字进行搜索,所以我很确定这是边界。
有人说这取决于php内部使用的数据类型。在哪里可以找到有关我的 php 安装中使用的数据类型的信息?
这是自述文件中的答案.txt如果 xampp 安装目录:它说"+ PHP 5.6.3(VC11 X86 32 位线程安全)+ PEAR"?
问候约翰
不可能
使用 32 位 php 构建来查找 (PHP_MAX_INT + 8192)。
(应该可以使用 64 位 php 构建,但我还没有尝试过。
一旦寻求最大可能的位置,人们仍然可以从那里退缩,但不可能进一步寻求。
尝试具有多个搜索的解决方法(甚至在 php.net 手动上被点赞)在我的系统上不起作用。相反,他们将文件指针放在PHP_MAX_INT下的不同位置。
PHP 7 的 64 位版本可以工作,它看起来很稳定,并且不像 5.6 版本那样是"实验性的"。如果您有能力升级,这是您最好的选择。 处理一些不向后兼容的更改(如错误处理)需要一些工作。
作为旁注,如果您尝试在 32 位构建上处理几乎大于 2GB 的任何内容,您将获得意外(损坏)的脚本。即使设置任何 php.ini 变量(如大于 2GB memory_limit也可能产生意想不到的结果。