2010-07-02 12 views
0

Ok, je cours avec CentOS, avec PHP 5.2. J'ai récemment ajouté l'extension JSON. Lors de l'exécutionPHP JSON. Problème de confusion

php -i 

.. après l'installation JSON, il dit

json 

json support => enabled 
json version => 1.2.1 

Mais quand je lance phpinfo cela ne montre pas l'extension JSON comme étant activée. J'ai ajouté l'extension au fichier php.ini afin qu'il charge le fichier json.so.

Je suis si confus à ce sujet. Quelles pourraient être les causes possibles de cela?

btw. Je cours php comme module d'apache.

Répondre

3

Votre cli PHP utilise probablement un fichier php.ini différent, celui qui charge l'extension json, et le module Apache ne l'est pas. php -i et phpinfo() donnent des informations sur les fichiers php.ini chargés.

Pour PHP cli, l'emplacement php.ini peut être spécifié via la variable d'environnement PHPRC ou avec php -c <file|dir>. Pour le module Apache, vous pouvez utiliser la directive Apache PHPINIDir.

1

Depuis PHP 5.2, l'extension JSON est incluse dans le noyau, vous n'avez pas besoin d'inclure d'extensions. S'il est dit que le support JSON est activé, cela devrait fonctionner. Avez-vous réellement essayé?

Tant que PHP n'a pas été compilé avec --disable-json.

+0

Vous seriez surpris de la fréquence des distributions supprimer des extensions du noyau. D'ailleurs, même si c'est dans le noyau, il devrait apparaître dans 'phpinfo'. Il aurait aussi pu être compilé avec '--enable-json = shared'. – Artefacto

1

Résolu les gars. J'ai ajouté un référentiel mis à jour, et couru yum update php J'ai fait l'erreur tort de supposer que j'utilisais 5.2 quand il était de 5,1 enfait

Après la mise à jour, il a travaillé.