Advanced-cache.php Already Exists Warning

Everything was broken when we tried to install yet another WP cache plugin. All the tabs and pages from admin panel are showing advanced-cache.php already exists warning.

Warning!
The file ../../wp-content/advanced-cache.php already exists. Please manually delete it before using this plugin.

Origin

Most of the wordpress installation done from dreamhost will have wp super cache plugin installed. This plugin will speed up wordpress blog, and so is recommended. If you do not have cache plugin installed then your wordpress blog will eat up lot of RAM(memory). There are multiple cache plugins available. We were trying out different plugins other than wp super cache. We tried to install hyper cache. Other than hyper cache there are tons of cache plugins, like, wp rocket, w3 total cache, WP fastest cache, Hummingbird page cache, & PageSpeed Ninja and so on.

Well, If you try to install another cache plugin without fist disabling current plugin then you will start to see this warning.

Solution for advanced-cache.php already exists warning

There are multiple solutions available for this warning. Like do FTP or ssh login to your server and remove folder from ‘plugins’ directory. or manually copy the file from the plugin folder ‘wp-content/plugins/wp-super-cache/advanced-cache.php’ to ‘wp-content folder’. And last one suggested to define ‘WP_CACHE’ constant to ‘false’ in ‘wp-config.php’. But none of the solution worked out in our case.

So, we have to do it hard way by editing database table. Login to dreamhost panel, navigate to ‘more’->’MySQL Database’ Click on phpMyadmin link in front of your database. Please note your database username and password will be different from your wordpress credentials. Login to your database and select ‘wp_3cajzx_options’ table. Search for ‘active_plugins’ in option_name as shown in below image.

Under ‘option_value’ you can see that, WP Super cache and Hyper Cache entries are there. First delete ‘hyper cache’ entry and re-order the indexing for ‘i’.

i:5;s:20:"wp-super-cache/plugin.php";i:6;s:22:"hyper-cache/plugin.php";i:7;s:19:"jetpack/jetpack.php";

Corrected entry after removing hyper cache will look like as below.

i:5;s:20:"wp-super-cache/plugin.php";i:6;s:19:"jetpack/jetpack.php";

After doing this change click on ‘go’ with ‘save’ option for this table. This will save the plugins table with removed entry for hyper cache plugin.

With this trick our admin panel is working, and we could see that all the plugins are available, only change was all the plugins were deactivated so we have to activate them. Hope this trick will solve your problem with this warning.

JSON libraries

 JSON libraries
1.frozen 
Output JSON objects in C as JSON formatted strings and parse 
JSON formatted strings back into the C presentation of 
the JSON objects.
FEATUES:
• C and C++ complaint portable.
• Several extra format specifiers supported.
JSON token:
This stucture contains-
Pointer pointing to beginning of the value.
Value length 
Type of the token
Token types are string,number,true,false,null,
object start, object end,array start and array end.
API’s:
• json_scanf
Scans json string directly into c/c++ variables.
• json_printf
Print c/c++ variables directly into output stream.
• json_setf
Modifies existing json_string.
• json_fread
Reads json from a file.
• json_fprintf
Writes json to a file.
• json_scanf_array_elem
Scan array element with given path and index
• json_printf_array
prints contiguous C arrays.
References:https://github.com/cesanta/frozen
SIZE of object file is 42 kBytes.
2.JSMN
Minimalistic JSON parser in C.
FEATURES:
Compatible with C89
Single head library
easily integrated into resource limited or
emb projects
API contains only 2 functions.
JSON token:
This structure contains-
type
start position in JSON data string
end position in JSON data string
size
Token types are-object,array,string,
primitive(number/boolean/true-false/null)
API’s:
•  jsmn_init
Create JSON parser over array of tokens.
•  jsmn_parse
Parses JSON data string into array of tokens,
each describing JSON object.
References:https://github.com/zserge/jsmn
SIZE of object file is upto 26 kBytes.
3.JSON-C
JSON-C implements referrence counting object that 
allows you to easily construct JSON objects in c,
output them as JSON formatted strings and parse 
JSON formatted strings back into c 
representation of JSON objects.
FEATURES:
JSON token:
Token types are boolean,double,int,object,array,string.
API’s:
• json_object_to_json_string
Stringify object to JSON format grabbing the 
shared ownership of object.
• json_object_get
Increament reference count of json_object.
• json_object_put
Decrement reference count of json_object,and free 
it if reaches to zero.
• json_object_userdata_to_json_string
Copy the userdata string to over the 
destination buffer.
• json_object_new_array
Create a new empty json_object of type 
json_type_array.
• json_object_get_array
Get the arraylist of json_object of type 
json_type_array.
• json_object_array_add
Add an element to the end of json_object 
of type json_type_array.
• json_obect_array_put_idx
Insert or replace an element at a specified 
index of the array.
• json_object_array_get_idx
Get the element at specifies index of the 
array.
All these functions for array are also defined for 
following json_types- 
boolean,double,int,int64,object .
References:https://github.com/json-c/json-c
SIZE of object file is upto 300 kBytes.