Включить кодирование json в PHP
может кто-нибудь посоветовать, как включить функцию json_encode в PHP?
У меня есть чистая установка Centos 5.6 и только что установлен Virtualmin.
кто-нибудь знает следующие шаги?
4 ответов
как в http://www.php.net/manual/en/json.requirements.php
требования
для использования этих функций не требуется установка; они являются частью ядра PHP.
просто PHP >= 5.2.0
редактировать: видел в комментарий кроме этого
на RHEL5 / CentOS5 добавьте репозиторий EPEL (http://fedoraproject.org/wiki/EPEL).
после этого, установка так же просто, как:
sudo yum install php-pecl-json
не знаю, относится ли это к вашему вопросу, у меня нет сервера Centos...
Для Ubuntu:
sudo aptitude install php5-json
в моем случае я столкнулся с этим вопросом, потому что я перекомпилировал PHP will ./configure --disable-all
а затем индивидуально добавляя в расширения, которые мне нужны. Для случая json_encode () это, конечно, включено в расширение JSON. Чтобы включить это расширение, добавьте опцию --enable-json
к вашей команде configure, т. е.:
./configure --disable-all --enable-json ...
(The "...- это относится к тому, что у вас могут быть другие расширения, которые вы захотите включить.)
В общем, любое расширение PHP можно включить либо включить опцию --with-extname
или --enable-extname
(где "extname" - это имя расширения). Вы можете выяснить, какой из этих двух синтаксисов использовать, выдав ./configure --help | grep extname
. Конечно, вам нужно иметь доступную библиотеку и, возможно, придется настроить путь, где она находится (в зависимости от расширения и находится ли он в пути "по умолчанию").
на CenotOS и других системах * nix, даже если у вас есть PHP, скомпилированный с --disable-json не все может быть потеряно. Первое, что, конечно, это проверить вывод из вашего phpinfo (); и поиск вхождений json. Если вы видите поддержка json включена тогда, конечно, у вас есть расширение json, но если нет, посмотрите, есть ли у вас / etc / php.d / json.ini перечислены в дополнительные .ini-файлы парсятся. Если вы этот файл может выглядеть так:
; включить модуль расширения json
; extension=json.так что
раскомментируйте вторую строку и перезапустите Apache. Если Apache запущен без ошибок, проверьте свой phpinfo () еще раз и посмотрите, включено ли это расширение json. Если это так, вы все настроены, если нет, вам может потребоваться найти каталог, в котором находятся ваши расширения php, и если вы видите json.так что там отредактируйте последнюю строку, чтобы включить полный путь к этому файлу и снова перезапустите Apache. Если у вас нетjson.так что файл с другими файлами расширений php, вам, вероятно, придется перекомпилировать это расширение (вам не нужно перекомпилировать весь PHP, но вы, конечно, могли бы, на этот раз с --enable-json), а затем повторите попытку.
также, если у вас нет дополнительных .ini файлы проанализированы, вы можете попробовать добавить это расширение в свой основной php.ini, который обычно является /etc / php.ini.
на php 7
Я сделал это, чтобы установить json (после нескольких часов борьбы):
yum install php70u-json
service nginx restart
service php-fpm restart