Может ли кто-нибудь посоветовать, как включить функцию json_encode в PHP?
У меня есть чистая установка Centos 5.6 и только что установил Virtualmin.
Кто-нибудь знает следующие шаги?
Как и в 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, будет ./configure --disable-all
а затем индивидуально добавляет расширения, которые мне нужны. Для случая json_encode () это, конечно, включено в расширение JSON. Чтобы включить это расширение, добавьте параметр --enable-json
в команду configure, то есть:
./configure --disable-all --enable-json ...
(«…» относится к тому факту, что у вас могут быть другие расширения, которые вы, возможно, захотите включить.)
В общем, любое расширение PHP может быть включено либо включением опции --with-extname
либо --enable-extname
(где «extname» – это имя расширения). Вы можете выяснить, какой из этих двух синтаксисов использовать, выписав ./configure --help | grep extname
./configure --help | grep extname
. Разумеется, вам необходимо иметь библиотеку, доступную и, возможно, придется настраивать путь, на котором она расположена (в зависимости от расширения и того, находится ли он по умолчанию).
На CenotOS и других системах * nix, даже если у вас есть PHP, скомпилированный с –disable-json, не все может быть потеряно. Первым делом, конечно, является проверка вывода вашего phpinfo (); и поиск вхождения json . Если вы видите, что поддержка json включена, конечно, у вас есть расширение json, но если нет, посмотрите, есть ли у вас /etc/php.d/json.ini, указанный в дополнительных файлах .ini . Если вы это сделаете, то этот файл может выглядеть так:
; Включить модуль расширения json
; Расширение = json.so
Раскомментируйте вторую строку и перезапустите Apache. Если Apache запущен без ошибок, снова проверьте ваш phpinfo () и посмотрите, активирует ли это расширение json. Если бы это было сделано, вы все настроены, если нет, вам может потребоваться найти каталог, в котором расположены ваши php-расширения, и если вы видите json.so там, отредактируйте последнюю строку, чтобы включить полный путь к этому файлу и перезапустить Апач снова. Если у вас нет файла json.so с вашими другими файлами расширения php, вам, вероятно, придется перекомпилировать это расширение (вам не нужно перекомпилировать весь ваш PHP, но вы, конечно, могли бы, на этот раз с –enable- json), а затем повторите попытку.
Кроме того, если у вас нет дополнительных файлов .ini, вы можете попробовать добавить это расширение в свой основной php.ini, который обычно является /etc/php.ini.
Для php 7
я сделал это, чтобы установить json (после нескольких часов борьбы):
yum install php70u-json service nginx restart service php-fpm restart