Activer l'encodage json en PHP

Quelqu'un pourrait-il nous indiquer comment activer la fonction json_encode en PHP?

J'ai une installation propre de Centos 5.6 et je viens d'installer Virtualmin.

est-ce que quelqu'un connaît les prochaines étapes à suivre?

7
demandé sur THelper 2011-09-06 14:08:30

4 réponses

comme dans http://www.php.net/manual/en/json.requirements.php

exigences

il n'y a pas d'installation nécessaire pour utiliser ces fonctions; elles font partie du noyau PHP.

juste PHP >= 5.2.0

Modifier : vu dans un commentaire aussi cette

sur RHEL5 / CentOS5 ajouter le dépôt EPEL ( http://fedoraproject.org/wiki/EPEL ).

après cela, l'installation est aussi simple que:

sudo yum install php-pecl-json

Je ne sais pas si cela s'applique à votre question, je n'ai pas de serveur Centos...

Pour Ubuntu:

sudo aptitude install php5-json
8
répondu Fabio 2014-02-14 12:57:23

dans mon cas, je suis tombé sur cette question parce que J'étais en train de compiler PHP will ./configure --disable-all et puis en ajoutant individuellement les extensions dont j'avais besoin. Pour le cas de json_encode (), ceci est bien sûr inclus dans L'extension JSON. Pour activer cette extension, ajoutez l'option --enable-json à votre commande configure, i.e.:

./configure --disable-all --enable-json ...

(Le "..."se réfère au fait que vous pouvez avoir d'autres extensions que vous souhaiterez peut-être activer.)

en général, toute extension PHP peut être activée en incluant l'option --with-extname ou --enable-extname (où" extname " est le nom de l'extension). Vous pouvez trouver lequel de ces deux syntaxes utiliser en émettant ./configure --help | grep extname . Bien sûr, vous devez avoir la bibliothèque elle-même disponible et peut avoir à configurer le chemin où il est situé (en fonction de l'extension et s'il est dans le chemin "par défaut").

2
répondu robguinness 2013-02-15 18:03:56

sur CenotOS et autres systèmes *nix, même si vous avez PHP compilé avec --disable-json tout ne peut pas être perdu. La première chose à faire est bien sûr de vérifier la sortie de votre phpinfo (); et de chercher des occurrences de json . Si vous voyez le support JSON activé alors bien sûr vous avez l'extension JSON activée, mais si non, voyez si vous avez /etc/php.d / json.ini Additional .fichiers ini parés . Si vous le faites, alors ce fichier peut ressembler à ceci:

; activer le module d'extension json

; extension=json.so

désactivez la deuxième ligne et redémarrez votre Apache. Si Apache a démarré sans erreur, vérifiez à nouveau votre phpinfo() et voyez si cela a activé votre extension JSON. Si si, vous êtes tous ensemble, si pas, vous pouvez trouver le répertoire où vos extensions php sont localisées et si vous voyez json.donc là-dedans, éditez la dernière ligne pour inclure le chemin complet vers ce fichier et redémarrez Apache à nouveau. Si vous n'avez pas json.donc fichier avec vos autres fichiers d'extension php, vous aurez probablement à recompiler cette une extension (vous n'avez pas besoin de recompiler l'ensemble de votre PHP, mais vous pouvez certainement, cette fois avec --enable-json), et puis essayer à nouveau.

Aussi, si vous n'avez pas supplémentaire. fichiers ini analysés, vous pouvez essayer d'ajouter cette extension dans votre php principal.ini, qui est habituellement /etc/php.ini.

0
répondu derekg 2014-10-02 18:36:12

Pour php 7 je l'ai fait pour installer json (après des heures de lutte):

yum install php70u-json
service nginx restart
service php-fpm restart
0
répondu d-_-b 2017-06-25 15:32:00