RECORDING MY FANTASY

Sunday, May 16, 2010

Install JSON for PHP5.x (less than 5.2)

Scott Hebert wrote on its blog, http://slaptijack.com/system-administration/lets-install-json-for-php-5/

I recently started messing around with building my own Facebook application. I figured the best way to start learning was to download the demo application and get it working on the Slaptijack web server. I quickly ran into a problem:

PHP Fatal error:  Call to undefined function json_encode()

The problem is that PHP 5.2 includes the json_encode() and json_decode()functions built right in. Unfortunately, I'm running on PHP 5.0 which doesn't include native JSON support. Here's how I resolved that.

  1. Install json – This was actually trickier than expected. I assumed I would be able to install this via pear. Apparently, a PEAR Services_JSON package was developed, but it has never been accepted into the official repository. The trick instead is to use thePECL json package. This was as easy as running pecl install json and watching the compiler do its thing. When it's done you should have a json.so file in your PHP modules directory. (Mine is/usr/lib/php/modules/.)
  2. Add json.ini file to /etc/php.d/ – This file is pretty simple. Simply add extension=json.so to this file and that will enable the extension.
  3. Restart Apache – Not much more to add here. Without the restart, the extension won't be loaded.
  4. Profit!

That's all it took. Now my PHP 5 installation is kicking along happily with the required JSON functions.

That's very useful to install json_encode on RHELS5.x, they are using the PHP which version is less than 5.2.


No comments: