Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/290.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 64位操作系统内存消耗上运行的32位程序_Php_Mysql_Xampp_32bit 64bit - Fatal编程技术网

Php 64位操作系统内存消耗上运行的32位程序

Php 64位操作系统内存消耗上运行的32位程序,php,mysql,xampp,32bit-64bit,Php,Mysql,Xampp,32bit 64bit,我们有一台windows server 2008 R2 32G内存机,这显然是一个64位操作系统。我们安装了XAMPP 32位版本,带有32位MySQL和PHP。然后我们在上面托管一个用PHP编写的webmail系统。我的问题是:那些32位MySQL和32位PHP会消耗超过4G的操作系统内存吗?我们是否必须安装64位MYSQL和PHP才能获得这个结果 谢谢基于x86体系结构指令集,32位编译的软件永远无法分配超过4GiB的内存,因为它们无法直接访问此内存。由于它们使用32位来表示内存地址,并且由

我们有一台windows server 2008 R2 32G内存机,这显然是一个64位操作系统。我们安装了XAMPP 32位版本,带有32位MySQL和PHP。然后我们在上面托管一个用PHP编写的webmail系统。我的问题是:那些32位MySQL和32位PHP会消耗超过4G的操作系统内存吗?我们是否必须安装64位MYSQL和PHP才能获得这个结果


谢谢

基于x86体系结构指令集,32位编译的软件永远无法分配超过4GiB的内存,因为它们无法直接访问此内存。由于它们使用32位来表示内存地址,并且由于2^32=4GiB(四舍五入),它们将无法进一步表示任何地址

另一方面,通过使用PAE,软件可以间接地在32位系统上使用超过4GB的内存,但软件必须明确地开发才能使用它


您需要每个软件及其库的64位版本,否则即使操作系统能够识别您的所有内存,您也无法直接使用超过4GB的内存。

这不完全正确。尽管虚拟内存地址空间仍然是4GB,但操作系统可以利用。(但是,请参阅具体操作系统限制/impl的详细信息。)他的操作系统已经是64位的了,我从来没有提到过操作系统32位的地址可能永远不会超过4GiB,只是用32位编译的软件不能直接寻址超过4GiB的地址。据我所知,在XAMPP.Closing中没有植入PAE机制以迁移到serverfault.com。