On one server I use (FreeBSD 6.3; PHP 5.2.6 as module in Apache 2.2.10), PHP was compiled with the '--disable-all' configuration option. Consequently, there exists a secondary configuration file -- /usr/local/php5/etc/extensions.ini -- in which the line
must be uncommented (delete the semicolon) and Apache restarted for these functions to be available.
As of PHP 5.2.0, the JSON extension is bundled and compiled into PHP by default.
Information for installing this PECL extension may be found in the manual chapter titled Installation of PECL extensions. Additional information such as new releases, downloads, source files, maintainer information, and a CHANGELOG, can be located here: » http://pecl.php.net/package/json
On RHEL5/CentOS5 add the EPEL repository (http://fedoraproject.org/wiki/EPEL).
After that, installation is as simple as:
sudo yum install php-pecl-json
On gentoo, need the USE flag "json" to compile into php
Installation steps on CentOs 5.3 include
# yum install php-devel
# yum install php-pear
# yum install gcc
# pear install pecl/json
# cd /etc/php.d
# echo "extension=json.so" > json.ini
# service httpd restart
After that phpinfo() would output
json support enabled
json version 1.2.1