1
freeznet 2013-11-27 21:13:23 +08:00 1
|
3
likexian 2013-11-27 22:59:12 +08:00
1. 谁说没有32和64之分,求出处,看看哪个2b说的
2. xp微软都不更新了还指望php,这个漏洞百出的系统早该废了 |
4
BOYPT 2013-11-27 23:01:54 +08:00
32 PHP和64 的PHP里面的整数本来就是不一样,哪里来无差异……
|
5
felix021 2013-11-27 23:03:06 +08:00
谁说没有32和64之分? zval里面是用long,不是用的int。
http://git.php.net/?p=php-src.git;a=blob;f=Zend/zend.h 321 typedef union _zvalue_value { 322 long lval; /* long value */ 323 double dval; /* double value */ 324 struct { 325 char *val; 326 int len; 327 } str; 328 HashTable *ht; /* hash table value */ 329 zend_object_value obj; 330 } zvalue_value; |
6
fucktwice OP @felix021 那为什么不出一个32位版本和64位版本呢?
事实是底层已经屏蔽掉了,但是具体的比如CRC校验的算法或者其他方面应该随着平台的差异性,还是会有区别的吧? |
7
fucktwice OP 这样的话,在接口API层其实已经没有差异了,但是实际的还是会有差别的,那具体的差别呢?
比如内存管理,算法选择,IO方面等等。 |
8
vibbow 2013-11-28 09:14:38 +08:00
很明显是有区别的
32位的PHP,在ip2long的时候就经常会溢出成负数。 64位的就不会。 |
9
joyqi 2013-11-28 10:05:32 +08:00
所有软件的源代码是不会区分32位和64位的,在不同的平台编译后的二进制程序才会体现这些区别。你看windows二进制包下载,http://windows.php.net/download/,里面清晰的表明了x86和x64两种
|
10
fucktwice OP 明白了,vibbow说的问题也确实存在。
|
11
coronanimo 2013-12-15 21:28:56 +08:00
就不要用32位的了。
|