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.
- 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 the PECL json package. This was as easy as runningpecl install json
and watching the compiler do its thing. When it's done you should have ajson.so
file in your PHP modules directory. (Mine is/usr/lib/php/modules/
.) - Add
json.ini
file to/etc/php.d/
- This file is pretty simple. Simply addextension=json.so
to this file and that will enable the extension. - Restart Apache - Not much more to add here. Without the restart, the extension won't be loaded.
- Profit!
That's all it took. Now my PHP 5 installation is kicking along happily with the required JSON functions.
Related Reading: