IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Autres composants PHP Discussion :

[ZF 1.10.8] zend_lucene methode create qui plante


Sujet :

Autres composants PHP

  1. #1
    Membre actif Avatar de speedy_g
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    213
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2007
    Messages : 213
    Points : 242
    Points
    242
    Par défaut [ZF 1.10.8] zend_lucene methode create qui plante
    Bonjour,

    Lorsque je tente de construire un index

    Je recois l'erreur suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Long integers lower than -2147483648 (0x80000000) are not supported on 32-bit platforms.
    J'ai la version 5.3.3 de php compilée en 32-bit sur un système mac (i386)

    Apparemment c'est ce bout de code qui envoie une erreur :

    Extrait de : Zend/Search/Lucene/Storage/File/Memory.php

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
     
     public function readLong32Bit()
        {
            $wordHigh = $this->readInt();
            $wordLow  = $this->readInt();
     
            if ($wordHigh & (int)0x80000000) {
                // It's a negative value since the highest bit is set
                if ($wordHigh == (int)0xFFFFFFFF  &&  ($wordLow & (int)0x80000000)) {
                    return $wordLow;
                } else {
                    require_once 'Zend/Search/Lucene/Exception.php';
                    throw new Zend_Search_Lucene_Exception('Long integers lower than -2147483648 (0x80000000) are not supported on 32-bit platforms.');
                }
     
            }
    Apparemment, 0x80000000 serait le plus petite variable signée supporté par le système.

    or lorsque je fais :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    php -r 'var_dump((int)0x80000000);'
    J'ai en retour : int(2147483648) au lieu de int(-2147483648).


    Une idée du problème ?.

  2. #2
    Membre actif Avatar de speedy_g
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    213
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2007
    Messages : 213
    Points : 242
    Points
    242
    Par défaut
    J'ai trouvé la solution,

    C'était bien la compilation de php qui posait problème.

    J'ai reinstallé la même version avec l'architecture i386 et le problème en ligne de commande a disparu.

    J'ai ensuite utilisé le module libphp5.so ( qui plantait le calcul sur le serveur) de la version de php réinstallée et cela fonctionne maintenant.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. methode serveur qui retourne une liste d'objet
    Par harbi dans le forum Windows Communication Foundation
    Réponses: 1
    Dernier message: 01/12/2008, 09h11
  2. Réponses: 2
    Dernier message: 01/11/2008, 20h19
  3. Methode update qui ne fait rien
    Par isarian dans le forum ASP.NET
    Réponses: 10
    Dernier message: 18/06/2008, 15h22
  4. methode get qui efface la précédente
    Par sam01 dans le forum Langage
    Réponses: 1
    Dernier message: 31/05/2006, 00h30

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo