关于 64 位 PHP 使用 PHP_INT_SIZE 输出得到 4 的问题

tengxunyun cera

本地使用 phpstudy 得到的结果是 4,也就是 32 位的 PHP,服务器上得到的是 8,64 位 PHP,没什么问题啊,就这么完了

结果今天来了一个使用 wamp 集成环境的,phpinfo()得到的是 64 位的,swoole_loader 扩展也安装成功的了,但是被提示了一句 32 位 PHP

php版本64位却得到32位

要来了他使用的集成环境版本:wampserver3.0.6_x64,本地安装一下,默认 PHP 版本为 5.6.25

既然PHP_INT_SIZE有问题,那么用 PHP 官方的说法:输出一个超过 42 亿的整数

var_dump(12345678900);
结果居然也是float(12345678900),很明显 PHP 是 32 位的

但是为什么phpinfo()中的 PHP 是 64 位

在 PHP Bugs 官方找到了这么一条 BUG 报告:PHP_INT_SIZE is 4 instead of 8 on 64bit Windows build

emmmm,幸好我当时给温馨提示的时候加了让在phpinfo()中查看对应位数,如果误报请忽略提示

具体原因可以看一下 PHP 的代码记录,在 PHP 的main/main.c中查

在PHP 5.6.4中,代码(https://github.com/php/php-src/blob/PHP-5.6.4/main/main.c#L2233)为

REGISTER_MAIN_LONG_CONSTANT(“PHP_INT_SIZE”, sizeof(long), CONST_PERSISTENT | CONST_CS);
在PHP7中,这里又有了些修改(https://github.com/php/php-src/blob/master/main/main.c#L2176)

REGISTER_MAIN_LONG_CONSTANT(“PHP_INT_SIZE”, SIZEOF_ZEND_LONG, CONST_PERSISTENT | CONST_CS);
而SIZEOF_ZEND_LONG的定义,在这里(https://github.com/php/php-src/blob/master/Zend/zend_long.h)

所以,PHP7中,应该不会再出现这个问题了,其他是个别版本

cera cloudiplc

相关推荐

DataPacketc测评|优惠码|$4|16核|1GB内存|100GB SSD空间|500GB流量|KVM|达拉斯QN

#DataPacket#,英国商家,最迟2014年就成立了,主要提供独立服务器,数据中心多。之前介绍过其独立服务器,其实这家的#KVM# VPS也有特色,CPU均给的#16核#,数据中心为美国达拉斯QN。 优惠码DPN15,年付31刀还能继续打折 VServer (1 GB) vCPU:16核 @ E5 CPU 内存:1 GB 空间:100 GB SSD 流量:500 GB / 月(1Gbps端口) IPv4:1 $4/月 购买链接 VServer (2 GB) vCPU:16核 @ E5 CPU 内存:2 GB 空间:200 GB SSD 流量:500 GB / 月(1Gbps端口) IPv4:1 $6/月 购买链接 VServer (4 GB) vCPU:16核 @ E5 CPU 内存:4 GB 空间:300 GB SSD 流量:500 GB …

666cloud测评|洛杉矶VPS|1核|1G内存|15G SSD|500G流量|30M带宽|KVM|$4|电信移动GIA CN2|可看Netflix

国人商家#666clouds#今天在TG上发来了最新促销OFF,他家的洛杉矶#GIA# CN2小鸡和#香港CMI#小鸡促销,其中洛杉矶最低配为1核,1G内存,15G SSD硬盘,500G流量@30M带宽,使用优惠码后,月付$4美元,路由方面,电信移动去程走GIA CN2,#联通直连#,#三网回程 GIA CN2#,商家说可以看Netflix,性价比还不错,适合个人使用,支持#支付宝#付款,允许两天内退款(无恶意使用),有需要自己考虑,具体请查看Offer: 优惠信息: 1,月付循环8折#优惠码#,适用于购买美西CERA产品:cera_20month 2,年付循环7折优惠码,适用于购买美西CERA产品:cera_30year 3,月付循环8折优惠码,适用于购买香港CMI产品:hk_cmi_20month 4,年付循环8折优惠码,适用于购买香港CMI产品:hk_cmi_30year     美西cera机房CN2 GIA CERA-CN2-1H1G-50M 1v CPU 1GB RAM 15G SSD Storage 500GB Bandwidth(In&Out) 30Mbps Up&Down 1IPv4 $4 /month (需使用优惠码:cera_20month ) $42 /year (需使用优惠码:cera_30year ) 点击购买     香港CMI(移动电信回程CN2) HK-CMI-mini-1H1G-30M 1v CPU 1GB RAM 15G SSD Storage 500GB Bandwidth(In&Out) 30Mbps Up&Down 1IPv4 $4 /month (需使用优惠码:hk_cmi_20month ) $42 …

Kamatera评测|$4|香港NTT|1GB内存|20GB SSD空间|1TB流量|1Gbps|10Gbps端口|VMware

#Kamatera#,#美国主机#商,1999年成立,提供#云主机#服务,有无管理和管理型,无管理型性价比不错,除#香港#外(香港最低是#500Mbps#带宽),均为#10Gbps#端口,配置可自定义,基于#VMware#,分为4类,其中T和A类价格最低,共享资源。 仅支持信用卡,注册时需需#验证#邮箱、手机等;首月免费 vCPU:1 * 2667MHz 内存:1 GB 空间:#20 GB SSD# 流量:1 TB / 月(#1Gbps#端口),额外流量是$0.01/1GB IPv4:1 $3.65/月 vCPU:1 * 2667MHz 内存:2 GB 空间:20 GB SSD 流量:1 TB / 月(1Gbps端口),额外流量是$0.01/1GB IPv4:1 $6/月 官网购买:https://www.kamatera.com/express/compute/# 可以看出io还挺高的,地点香港没错,cpu是铂金8270,主频2.7hz 看测速,电信移动很烂,联通部分地区还行 直接上结论:云南昆明电信  电信去程NTT,先绕日本在回香港 云南昆明联通  好电信的路由一样,都是先绕日本在到香港去 四川成都移动  移动为直连去香港的 湖北襄阳电信   回程的时候也是先去的日本 基本上是三网绕  

使用|Maverick|搭建|Wiki站点

使用 Maverick 搭建 Wiki 站点 Blog (https://www.zggsong.cn/archives/wiki.html) | GitHub (https://github.com/AlanDecode/Maverick-Theme-Galileo) | Demo (https://wiki.zggsong.cn/) 本文主要讲述了作者如何让使用基于 Python 构建静态博客生成器 Maverick (https://github.com/AlanDecode/Maverick),搭建 Wiki 站点。其中 Wiki 站点主题使用了 Kepler (https://github.com/AlanDecode/Maverick-Theme-Kepler),Maverick 用 GitHub Actions 自动构建。写完推送通过 Actions 自动构建生成静态页面,然后发布到 Github Pages。作者还进一步阐述了如何利用腾讯云开发 API 接入腾讯云,从而实现访问加速 效果就是寻常的左右分栏 #Wiki#,类似 Gitbook、语雀那样,用来记录一些零碎知识点并形成知识体系。 “在日常学习过程中,知识细小琐碎,有时甚至只是一句话,却时常有很重要的学习意义,放在博客一方面日后查找起来不方便,另一方面显得有些小题大做”,其实如何利用和规划,重要性大于形式本身

微信扫一扫,分享到朋友圈

关于 64 位 PHP 使用 PHP_INT_SIZE 输出得到 4 的问题