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 thePECL 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.
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:
Post a Comment