Could someone advise on how to enable the json_encode function in PHP?
I have a clean install of Centos 5.6 and have just installed Virtualmin.
Does anyone know the next steps to take?
Could someone advise on how to enable the json_encode function in PHP?
I have a clean install of Centos 5.6 and have just installed Virtualmin.
Does anyone know the next steps to take?
On CenotOS and other *nix systems, even if you have PHP compiled with --disable-json not everything may be lost. The first thing of course is to check output from your phpinfo(); and search for occurrences of json. If you see json support enabled then of course you have json extension enabled, but if not, see if you have /etc/php.d/json.ini listed in Additional .ini files parsed. If you do, then this file may look like this:
; Enable json extension module
;extension=json.so
Uncomment the second line and restart your Apache. If Apache started without errors, check your phpinfo() again and see if this enabled your json extension. If if did, you're all set, if not, you may have to find the directory where your php extensions are located and if you see json.so in there, edit the last line to include the full path to that file and restart Apache again. If you don't have json.so file with your other php extension files, you probably will have to recompile that one extension (you don't need to recompile your whole PHP, but you certainly could, this time with --enable-json), and then try again.
Also, if you don't have additional .ini files parsed, you can try adding this extension in your main php.ini, which is usually /etc/php.ini.
In my case, I came across this question because I was re-compiling PHP will
./configure --disable-all
and then individually adding in the extensions I needed. For the case of json_encode(), this is of course included in the JSON extension. To enable this extension, add the option--enable-json
to your configure command, i.e.:./configure --disable-all --enable-json ...
(The "..." refers to the fact that you may have other extensions you may wish to enable.)
In general, any PHP extension can be enabled either by including the option
--with-extname
or--enable-extname
(where "extname" is the name of the extension). You can figure out which one of these two syntaxes to use by issuing./configure --help | grep extname
. Of course, you need to have the library itself available and may have to configure the path where it is located (depending on the extension and whether it is in the "default" path).For
php 7
I did this to install json (after hours of struggling):As in http://www.php.net/manual/en/json.requirements.php
Just PHP >= 5.2.0
Edit: saw in a comment also this
Don't know if this apply for your question, I don't have a Centos server...
For Ubuntu: