Category Archives for "Web Hosting"

DAP Certified Web Hosts

Last updated: 12/01/2019

DAP works off-the-shelf on almost all web hosts.

But as in any industry, some hosts are just outdated, some run old and outdated software, or do not offer a choice to upgrade to the latest server software (like a recent version of PHP or MySQL). Some are just not helpful at all. And some just don’t have a clue!

So, if you had the choice of picking a new web host, then here are the web hosts we use ourselves, and highly recommend, and they have everything readily available that DAP needs to run smoothly.

Recommended Web Hosts

1) LiquidWeb

2) SiteGround


 VPS Hosting

If keeping your site(s) running almost all the time, and having insanely great support from your web host, are both important to you, then you should go with a VPS server from LiquidWeb or SiteGround. For about $50 a month, you can get yourself a great server, with terrific up-time and support. And did we say support is crazy good?

Shared Hosting

If you can’t afford the $50 a month for a VPS server, or don’t (yet) see the value of high site availability and great support, then the next best option is shared hosting, where you share a server with other business owners. Not all shared hosts are made equal. And that’s why we still recommend Siteground as our #1 choice for shared hosting as well.

Managed WordPress Hosting

DAP also works on “Managed WordPress Hosting” accounts like, etc. You’ll have to work with the hosting team to help you setup DAP hourly cron.

But DAP does not work with WP Engine as it does not support “PHP Sessions”. If you want to use a Managed WP hosting platform, be sure to check if they support PHP session.

Hosts Not Recommended

DAP works fine on all of the following web hosts – unless we specifically mention that it won’t.

But just because DAP works fine on these hosts, doesn’t mean their service or support is good enough for the long term.

So if you are already hosting with one of these hosts below, then you already know how well they work (or don’t), but if you’re happy with them, then there’s no further issue.


GoDaddy is great for registering your domain names. For hosting? Not so much.

We do have a large number of DAP users who use Godaddy for hosting, and they all either totally love it, or hate it. More hate it than love it. No middle ground.

We’ve ourselves have witnessed many issues with some GoDaddy-hosted sites. Their email systems don’t always work consistently on all servers. It works great for some, while some of our other users have reported that even simple admin notification emails from DAP don’t get sent correctly. To compound the issue, Godaddy queues up even real-time emails on their end, and only send them out as batches. Which means even instant “Thank You” emails sent to your buyers with their membership login info, may not get sent for a couple of hours, even though DAP has actually sent them out, but are being intercepted and put on a queue by Godaddy to be sent out “later” in a “batch”.

And then there are the random blank pages and “internal server errors” (500 error). If you search Google for “Godaddy internal server error”, you will see enough folks to form a small nation, complaining about it. And most them aren’t even using DAP (we wish!).

These guys are still stuck in the 90’s, and provide you with some really primitive admin tools.

For instance, the process for setting up a cron job on 99.99% of the other hosts takes about 2 minutes, because it’s point-and-click-and-type. On 1and1, if you see the tutorial they’ve provided ( ), they’ve made it very complicated, that it would take us too much time just to setup a simple cron job!

And spending 20 minutes for something that normally takes 2 minutes on other hosts, is simply not worth our time. So if you’re on 1and1, we won’t be able to set up cron jobs for you for free. We would have to charge you to set it up for you, so just be aware of that.

And for some reason, their servers always seem to give us a lot of grief with installation & support. So we do not recommend them.

Windows-based hosts

Make sure your server is running some for of Unix (Linux/BSD/etc). DAP and plugins do not work well on Windows-hosted servers. Please see this post for more details.

What Does It Mean If Your Host Is Not Listed Here?

If your host is not shown here, then don’t worry – it doesn’t necessarily mean that DAP won’t work on your host. DAP works well on most hosting platforms.

We just recommend that we use ourselves or have done countless installations on, for our DAP users, and highly recommend (or recommend against, in some cases) if you have the option of picking a new web host.

This is exactly why we offer a 30-day money-back guarantee when you purchase DAP – so that you can make sure DAP can run on your current web site, and also help you decide if DAP will work for you.

So there’s no risk to you, regardless of who you are hosting with.

Disclaimer: We only recommend products and services that we absolutely love and believe in. When recommending such third-party products or services, we may sometimes use affiliate links, which means if you go on to purchase the product or service recommended, we may earn a commission from those purchases.

Plugin Errors

(1) When Activating LiveLinks

If you are seeing an error that looks like this when you try to activate LiveLinks…

Fatal error: Cannot redeclare dap_filter_posts() (previously declared in /home/sitename/public_html/wp-content/plugins/DAP-WP-LiveLinks/DAP-WP-LiveLinks.php:11) in /home/sitename/public_html/wp-content/plugins/DAP-WP-LiveLinks/DAP-WP-LiveLinks.php on line 11

First click on the DigitalAccessPass link on the left side bar of your WP admin panel and see if you able to login to the DAP Admin Panel successfully.

If yes, then  you can ignore this error. If not, try out these solutions one-at-a-time.

Solution A) This could be because you have incorrectly named the DAP or Livelinks folders.

Remember, the dap folder must always be named dap (all lower case – and not, say, dap_v4.3). And the livelinks folder must be named DAP-WP-LiveLinks .

Solution B) Make sure you have installed dap to the root of your site/domain. If you installed it right, you will be able to access this URL:

Note: Replace with the name of your site.

Now go back to WP admin panel -> plugins  and de-activate and re-activate the DAP-WP-LiveLinks plugin.

Solution C) Go to /dap folder on your site

Rename dap-config.php to dap-config.old.php

Now go back to WP Admin -> Plugins -> de-activate and re-activate DAP live links plugin.

Solution D) Go to WP admin panel -> plugins

Try to de-activate all active plugins. Just activate DAP-WP-LiveLinks first. See if it works. Then re-activate all other plugins one-at-a-time to find out if there is a plugin conflict.

Solution E) Go to WP admin panel -> Appearance -> Theme

Try to de-activate the currently active theme and use the WP default theme. Now go back to WP admin -> plugins and de-activate and re-activate DAP Live Links plugin and see if that resolves the issue. If yes, it points to a theme issue and you might have to consider switching the theme or contact the theme developer for a possible fix.

Solution F) This applies to DAP installation on a sub-domain or add-on domain.

If you are installing DAP on a sub-domain or an add-on domain, then this problem is likely because the path to the root of your site does NOT match the server document_root.

Here’s how you can figure out the siteroot and document root.

Run this command in a browser window: and note down the path. That’s the path to the root of your site.

Run this command in a browser window: and search for document_root. Note down the path. That’s the path to the document root of your site.

NOTE: replace above with the name of your site.

If the only difference is that the first one (getpath.php) has a /dap at the end, then it’s fine. But if getpath.php results in a different path than the one returned by phpinfo.php, then you will have to update wp-config.php with a new siteroot definition using the value returned by getpath.php.

Copy the results of getpath upto /dap as shown below and add it to wp-config.php.

For ex – if getpath.php returns – /home/yoursite/, then this will be what goes into wp-config.php

if ( !defined(‘SITEROOT’) )

define(‘SITEROOT’, ‘/home/yoursite/’);

Please Note :

Replace backticks (‘) above with single quotes in the define statement. When this document is updated, wordpress replaces single quote with backticks, but if you copy and paste the define statement above directly from this document to your wordpress config file, remember to change backticks back to single quote.

Now try to re-activate dap live links plugin.

If it succeeds and installs DAP successfully, then go back to /dap folder on your site. You will now see a new file called dap-config.php. Edit the dap-config.php file.

Add the same line to dap-config.php also.

if ( !defined(‘SITEROOT’) )

define(‘SITEROOT’, ‘/home/yoursite/’);

That’s it. You will not see any of these warning/errors after that.

NOTE: here ‘/home/yoursite/’ is just a sample, you need to use the path returned by on your site.

Solution G) It is possible that your web site does not meet the minimum requirements to run DAP .

If you open a ticket and give us your FTP info and your WordPress Admin login info, we can confirm this to you right away.

— *** —

If you are seeing an error that looks like this when you try to activate LiveLinks…

Oops! Could not create the config file (dap-config.php). Please make the ‘dap’ folder writable by doing CHMOD 755 (and if that doesn’t work, then try CHMOD 777.)

Installation failed. Please de-activate LiveLinks and re-activate it when you’ve fixed the issue. (106)

* CHMOD just the dap directory to 777.

* Then de-activate and activate the LiveLinks plugin.

* This time around, it should be able create the dap-config.php file within the dap directory. You should see the successful installation message.

* CHMOD just the dap directory back to 755.

If that doesn’t work, then open a ticket with the FTP info and WP admin info.


(2) Session Error

If you see an error that looks like this…

Fatal error: Dap_Session::isLoggedIn() [dap-session.isloggedin]: The script tried to execute a method or access a property of an incomplete object. Please ensure that the class definition “Dap_Session” of the object you are trying to operate on was loaded _before_ unserialize() gets called or provide a __autoload() function to load the class definition in /home/site/public_html/dap/inc/classes/Dap_Session.class.php on line 41

This is basically caused by someone else’s 3rd-party WordPress plugin that is wiping out the “session” data (or user data stored in memory) which DAP relies on to store the user information. So there are two things you can try…

  1. See if you have a plugin by name “WordPress Automattic Upgrade” in your wordpress plugins page.This has created many issues for so many other plugins too, including LiveLinks. Just de-activate this plugin, and your error should go away. Also, if you are using WordPress version 2.7.1, you don’t really need this plugin any more – the automatic upgrade feature has been built right into this version.
  2. See if you have a plugin for doing “Captcha” – this is where to prevent bots from spamming your comments, your visitor is presented with some kind of an image to verify that they are human. Try with that de-activated.
  3. If none of the above worked, or if you don’t have any of the above plugins active and you’re still seeing the error, then just try de-activating all other plugins temporarily (except LiveLinks, of course), and turn them back on one-by-one.

Refresh your blog page every time you activate a plugin. That way, you will know which is the plugin that is causing the error.

If that still doesn’t help, just open a support ticket and we’ll take care of it.


(3) PDO Error

You see an error like this:

Fatal error: Class ‘PDO’ not found in /home1/knowlee3/public_html/buildamagneticnetwork/dap/inc/classes/Dap_Connection.class.php on line 19

If DAP had been working fine on your web site, and you all of a sudden see this error, then your host quietly pulled the rug from under your feet :-). This appears because they either deliberately or mistakenly disabled the “PDO” library, which is a must-have requirement for DAP to run.

So check with your host and ask them “if they disabled PHP/PDO for MySQL on your server recently”.


(4) Memory Allocation

You see an error like this:

Fatal error: Allowed memory size of 33554432 bytes exhausted (tried to allocate 16 bytes) in /home/ on line 19

Or you see a blank screen after activating DAP LiveLinks.

a) Your server has a low memory limit set by your host, and your host needs to increase the memory allocated to PHP/PDO.

Add this line to the top of your wp-config.php file:

ini_set('memory_limit', '64M');


b) Sometimes, this is not really related to memory at all, even though the message appears to indicate so. Instead, the issue could be that the database connection parameters in /dap/dap-config.php file are invalid/incorrect. And that manifests itself appearing to be a memory issue.

So, maybe you recently made some changes to your DAP files or web site files, and overwrote/updated your dap-config.php file with the wrong database information. For whatever reason, it’s possible that DAP is unable to connect to the database because of incorrect information in the dap config file. Check the database settings within your dap-config.php file and make sure it matches your wp-config.php file.


(5) Simple-Pie & Memory Allocation

You see an error like this:

Fatal error: Allowed memory size of 37423432 bytes exhausted (tried to allocate 371520 bytes) in /…/public_html/~username/wp-includes/class-simplepie.php

Open the file wp-config.php (which is in your blog’s main folder)

Add this line at the top…

define('WP_MEMORY_LIMIT', '64M');

That should take care of the error.


(6) Data Inserting/Saving/Updating Issues

  • You get a 403/404 error when updating things, or data doesn’t get saved and nothing gets updated, when (for eg.) you try to save the DAP license key in Setup > Config
  • Same kind of issues when trying to update Product settings or Product page doesn’t even load and comes up blank, or
  • You try saving something in DAP and it doesn’t get saved
  • Clicking on double-optin activation link (after going through DAP free signup) ends up in a “Sorry, missing fields” type of message and takes you to the link
  • You get random blank pages in DAP Admin
  • You randomly get the “License Error” page even when you’ve actually entered the license key and all pages work most of the time.
  • You were simply sent here by the DAP support team because they suspect it’s this issue (even if you don’t have the same issues listed above)

Weird, inexplicable, illogical stuff happening: This is the typical symptom of something called “Mod Security” being installed on your host, that is preventing DAP from accessing the database.

So please open a ticket with your host, and tell them this…

“I have a WordPress plugin on my site that is showing unexpected behavior and database errors when I try to save any data. The developers tell me that there is probably Mod Security installed on the server where is hosted. So ideally, please disable it, in case it is enabled. Or at the very least, please white-list all requests coming from so that the plugin is able to do its job.”

Once they fix that, then try whatever was not working before, and this time, it should work fine.


(7) Installation Errors With DAP v4.4.x

a) After installing (or upgrading to) DAP v4.4, your site doesn’t load properly.

b) Or you get a an error that looks like the one below and your WP admin doesn’t load, won’t let you log in, or shows a blank screen.

Fatal error: Call to undefined function mcrypt_decrypt() in /home/XYZ/public_html/ on line 3839

This means that your server is missing a standard PHP library – usually installed on most web servers – called “mcrypt_decrypt” that is used by the new DAP v4.4 for encrypting users’ passwords. Please ask your web host to enable that library, and after that, if you activate the DAP LiveLinks plugin in WordPress, it should work fine.

If your site is not loading, then temporarily rename the wp-content/plugins/DAP-WP-LiveLinks plugin’s folder name (add an underscore at the beginning or the end) so that your site can load.


(8) PHP Notice: Undefined index

You are seeing errors like this on your site…

PHP Notice: Undefined index: HTTP_HOST in /var/www/my/site/httpdocs/dap/dap-settings.php on line 108
PHP Notice: Undefined index: HTTP_HOST in /var/www/my/site/httpdocs/dap/dap-settings.php on line 110
PHP Strict Standards: Only variables should be passed by reference in /var/www/my/site/httpdocs/dap/inc/classes/Dap_User.class.php on line 272

It’s probably because the PHP error reporting has been set to “Strict” on your server.

Just paste the following line of code towards the top of the dap/dap-config.php file, right after the PHP opening tag (“<?php”)


That should resolve this issue.

Fatal error: Allowed memory size of 33554432 bytes exhausted (tried to allocate 491520 bytes) in /home8/paladinc/public_html/equityarb/wp-includes/class-simplepie.php

Installation / Pre-Installation FAQs

What are the minimum web-hosting requirements to run DAP?

See “Minimum web-hosting requirements”

What web hosts to you recommend?

See “DAP-Certified Web Hosts”

I’m getting an error during installation

See this post for more details about errors .

How can I avail of Free Installation?

See “Free Installation”

How do I setup Cron?

Setting up Cron Jobs

All about Cron Jobs

Your host does not support Cron Jobs


Setting Up Cron Jobs

(Note: You can get this setup as part of your free installation. But if you would like to do it yourself, keep reading…

There is just one cron job (back-end, scheduled jobs) that you need to setup.

dap-cron.php (mandatory – once an hour)

This is the main one. It sends out broadcast emails, autoresponder emails, handles bulk member imports, affiliate commissions processing, clean up, etc. This one is mandatory.

Please Note: If you use 1ShoppingCart as your shopping cart, you need to setup another cron:
dap-emailorder.php (only if you use 1shoppingcart – every 10 minutes)

This is the email order processing cron, used ONLY for 1ShoppingCart. Skip setting this cron up if you’re not using 1ShoppingCart or

Path to DAP

Visit the url below in a browser window (replace with your actual domain name):

This will show something like this in your browser:


This is your “Path to DAP” to your root folder.

To the end, add “/dap-cron.php”. So that makes your new “Path to DAP” to be:


This is your new “Path to DAP”. Make a note of this on a piece of paper, or in a notepad/text editor window.

Setting up the Cron jobs

A) dap-cron.php

This one is mandatory. Should be set up to run Once Every Hour. This hourly process is what sends out all the scheduled broadcast (bulk) emails and processes different types of “bulk actions” – like importing a large list of customers into DAP from an external system, for instance.

  1. Log in to your web host’s control panel (or cpanel)
  2. Look for the icon “Cron Jobs” in the “Advanced” section – usually towards the bottom of that page, and click on it.
  3. On the next window, in the “Common Settings” drop down, select “Once an hour (0 * * * *)“.
    And in the “Command” field, enter this:/usr/bin/php<insert space>/home/path/to/

    NOTE: <insert space> above is just a note to you that means you must hit the spacebar and insert an actual space between the two pieces of text.
  4. Click on “Add New Cron Job”.

That’s it for this one.

B) dap-emailorder.php

Follow this step ONLY if you’re using 1ShoppingCart or any private label of 1SC – like

This cron job should be set up to run once every 10 minutes. This is the script that processes all of your recurring orders initiated by 1ShoppingCart or private label. So, if you set this up to run once every 10 minutes, then every 10 minutes, it will log in to your billing email address (you can configure what this email id is within the admin control panel on the “Config” screen) and process the email notifications that you have received from 1ShoppingCart (and its private labels).

Running it sooner than once every 10 minutes – like say, once every minute or even once every 5 minutes – is resource intensive, and is not a good idea. Your web host may not not even allow it in the first place. But even if they do, it’s not recommended.

Follow steps A(1) through A(4) above. Only difference is in what you’re going to be entering in the “Command” field.

For this cron job, it is…

/usr/bin/php<insert space>/home/path/to/

Only difference between the two cron jobs is in the name of script that is being run. For the hourly cron (A), it was dap-cron.php. For the 10-minute cron (B), it is dap-emailorder.php.


1. Where you see the text <insert space>, replace with an actual space (hitting the space bar).

2. Cron Email Reports:

By default, your webhost will send you an hourly cron report. If you don’t want to receive hourly cron emails, you can turn it off in your hosting cpanel. You can login to your Webhost Control Panel > Cron Jobs page, and remove your email address from that page (where it says “Please enter an email address where the cron output will be sent”).

3. To check if you have set up the cron job correctly, you can set DAP Admin -> Setup -> Config -> Log Level to “Log All Activity (During Troubleshooting)” . Then go to DAP Admin -> System -> Logs . Empty the logs by clicking on the “Empty Logs” link, and then revisit the screen and refresh the page, after say 10 minutes (to verify the running of dap-emailorder.php) or at the top of the hour (to verify the running of dap-cron.php).

4. To force run a cron (manually), click on this link:
(to run hourly cron)
(to run the email order cron that runs every 10 minutes)

Replace with the actual domain name of your web site.