欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

intval在win7x64和centos上最大值范围不同的有关问题

程序员文章站 2022-05-26 14:35:28
...
intval在win7x64和centos上最大值范围不同的问题
一直使用win7x64进行开发,Web服务器用的是php5.5内置的web服务器,
昨天突然发现一个问题,同样的代码,在win7和centos上,结果不同:
var_dump(intval('21474836470'));
在Win7上输出:int 2147483647
在Centos输出:int 30000000000

手册上说:
最大的值取决于操作系统。 32 位系统最大带符号的 integer 范围是 -2147483648 到 2147483647
64 位系统上,最大带符号的 integer 值是 9223372036854775807。

可是的我系统是win7x64的啊,下载的php也验证了下,是64位版本的,
为什么会出现intval是32位的效果???
在WIndows下看phpinfo,也可以看到是64位:
PHP Version 5.5.14
System Windows NT 7D494368868AFA1 6.1 build 7601 (Windows 7 Ultimate Edition Service Pack 1) AMD64
Build Date Jun 25 2014 12:37:32
Compiler MSVC11 (Visual C++ 2012)
Architecture x64
------解决思路----------------------
这个不仅仅要看操作系统的版本,还要看php的版本,官方发布的PHP版本均为32位
------解决思路----------------------
是否需要用 64 位版本进行开发,需要看运行环境而定。
不然你做的项目会因找不到 64 位服务器而流产
另外,64位系统有真假之分:64位系统64位架构 和 64位系统32位架构(在32位系统中称 32位 和 准32位)

再有就是,或与你遇到的问题可能是个 bug(可上bug网站上查查)现在都 5.6.9 了,可能已经修复了呢?
intval在win7x64和centos上最大值范围不同的有关问题

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。

相关文章

相关视频