我正在使用this php库。它提到了这个:
该项目可以在PHP 7,PHP 5.6和HHVM上运行,只支持64位系统ATM。
在带有linux
的{{1}}主机(cpanel)中可以正常使用。但是在Windows中不起作用。我安装了wamp。在php5.6
中,似乎一切正常。有什么我想念的吗? phpinfo()
是什么意思?
我的ATM
:
错误:
phpinfo()
答案 0 :(得分:2)
他们的API.php
包含以下代码:
// Detect 64 bit
if (PHP_INT_SIZE < 8) {
throw new Exception('MadelineProto supports only 64 bit systems ATM');
}
他们正在做的事情不是检查你是否运行64位版本的PHP,或者如果你的系统是64位,而是你的size字节是什么整数是。 PHP7(当前Windows版本)上的该值可以是4(32位)或8(64位)。在旧版本的PHP中(至少在5.6位版本中为5.6,标记为实验),该值将始终为4。
因此,为了在您的系统上使用该库,您需要:
答案 1 :(得分:1)
发生这种情况,因为库通过检查常量PHP_INT_SIZE来检查64位。当您使用PHP 5.6时,即使在64位系统上,此常量在Windows上始终为4。有关Windows上的此问题,请参阅PHP_INT_SIZE returns 4 But my Operating System Is 64 bit
'问题'可以在API.php around line 29中找到。此检查(但不正确)似乎是the recommended way来检查64位。无论如何,如果他们真的依赖于8位整数,我认为你不能在Windows上用PHP 5.6使用这个库。
PHP 7在Windows上支持64位整数,所以如果你想使用这个库,我认为你应该升级到PHP 7。