2017-01-26 1 views
0

J'utilise this bibliothèque php. Il mentiones ceci:Windows php 64 bits systèmes ATM

This project can run on PHP 7, PHP 5.6 and HHVM, only 64 bit systems are supported ATM.

Il fonctionne très bien dans un hôte linux (cPanel) avec php5.6. Mais ne fonctionne pas dans les fenêtres. J'ai installé wamp. Dans phpinfo(), il semble que tout va bien. Y a-t-il quelque chose qui me manque? Qu'est-ce que ATM signifie?

Mon phpinfo():

enter image description here

Erreur:

Fatal error: Uncaught exception 'danog\MadelineProto\Exception' with message 'MadelineProto supports only 64 bit systems ATM' in C:\wamp64\www\telegramphp3\src\danog\MadelineProto\API.php on line 30 
+2

ATM signifie simplement "Pour le moment", donc votre version devrait être correcte. S'il vous plaît expliquer * "Mais ne fonctionne pas dans les fenêtres." *. Quel comportement obtenez-vous? Les erreurs? Sortie spécifique (incorrecte)? – GolezTrol

+0

@GolezTrol Merci. J'ai ajouté les erreurs dans la question. –

+0

vous utilisez probablement une version 32 bits de PHP sur une version 64 bits de Windows – Grey

Répondre

2

Leur API.php contient le code suivant:

// Detect 64 bit 
if (PHP_INT_SIZE < 8) { 
    throw new Exception('MadelineProto supports only 64 bit systems ATM'); 
} 

Wh à ce qu'ils font n'est pas vérifier quand vous exécutez une version 64 bits de PHP ou si votre système est 64 bits, mais plutôt ce que le size en octets est un nombre entier. Cette valeur peut être de 4 (32 bits) ou de 8 (64 bits) sur PHP7 (versions Windows actuelles). Dans les anciennes versions de PHP (au moins dans les versions 64 bits pour 5.6, qui sont marquées expérimentales) cette valeur sera toujours 4.

Donc, pour utiliser cette bibliothèque sur votre système, vous devez:

  • Mise à jour votre version de PHP, vous pouvez à 7
    • Le builds de Windows se trouve en cours here, essayez de simplement remplacer votre installation de PHP en cours ou chercher un package mis à jour de votre ... package.
+1

WAMPServer ait de nombreuses versions de PHP disponibles comme ADDONS pour WAMPServer 3 et plus [Voir ici pour tous les ADDONS] (http://wampserver.aviatechno.net/) Donc, ne faites pas comme @Seth suggère et obtenir une version de PHP à partir de son lien. Installation du WAMPServer PHP ADDONS est à télécharger/cliquer et aller – RiggsFolly

1

Cela se produit parce que les contrôles de la bibliothèque pour 64 bits en cochant la PHP_INT_SIZE constante. Cette constante est toujours de 4 sur Windows, lorsque vous utilisez PHP 5.6, même sur les systèmes 64 bits. Pour ce problème sous Windows, voir PHP_INT_SIZE returns 4 But my Operating System Is 64 bit

Le 'problème' peut être trouvé dans API.php around line 29. Cette vérification, cependant incorrecte, semble être the recommended way pour vérifier 64 bits. Peu importe, s'ils comptent vraiment sur des entiers de 8 bits, je pense que vous ne pouvez pas utiliser cette bibliothèque sur Windows avec PHP 5.6.

PHP 7 supporte les entiers 64 bits sous Windows, donc je pense que vous devriez passer à PHP 7 si vous voulez utiliser cette bibliothèque.