Backing Up

how to issue shares

HTTP Loopback Connections Disabled

What are Loopbacks

WordPress' simulated cron works by having the site connect back to itself via curl (or other available fallback connection method if curl in unavailable) to trigger actions to take place behind the scene. What are they? PHP needs to be able to use Curl to load your site via its public URL. For instance if your site is WordPress will access via Curl. Basically the site connects back onto itself. If it is unable to do this then the simulated cron cannot function. A host may block these connections back to themselves intentionally or through misconfiguration. One known cause is a DNS problem on the server either due to misconfiguration or a recent DNS change not fully propagating to the site, resulting in the site attempting to connect back to its own URL but inadvertently connecting to the old site since DNS has not propagated fully yet. NOTE: This is NOT to be confused with the loopback ethernet device. Web hosts often misunderstand the HTTP loopback as meaning the loopback device. If it not related at all.


  • You receive a warning or error #9038 or a message indicating HTTP Loopbacks are not functioning, such as on the Backups page.
  • "Endless Ping" symptom
    • "Endless ping" usually happens before the second Scheduled Cron in your backup is run. You can see the number of times "Scheduled Cron" is mentioned in the Advanced Logs shown on the backup page to see if this is the case.


  • Temporarily disable all other WordPress plugins to rule out another plugin causing problems. This is a quick way to narrow down the problem. After seeing if this helps you can re-enable all the recent plugins by clicking on "Recently Active Plugins" on the plugins page.
  • Verify the "Loopback Domain & IP" listed on the "Server Tools" page is correct and pointing to the expected URL and IP address, especially if you recently changed DNS settings.
    • Deactivate all other plugins and see if it works to rule out another plugin conflicting, if so then make sure you don't have a plugin that may apply a maintenance mode
      • This is because maintenance mode plugins rarely, if ever, take into account WordPress scheduling crons
  • Are you password protecting all or a portion of your site by using htpasswd (eg in the htaccess)? Some plugins may enable this for additional security but it often breaks the WordPress cron. Workaround:
    • You can exclude the specific files wp-cron.php and wp-admin/admin-ajax.php from the password protection using techniques such as outlined in these articles:
    • It's not uncommon to do this. Another option is to allow unconditional access from the server IP address itself (provided this is known and fixed or at least a limited set of IPs). The blocking of access to wp-cron.php would affect WordPress task scheduling in general (not just BackupBuddys use of it) and blocking wp-admin/admin-ajax.php may affect other functionality as well so in general with WordPress if password protection is enabled it is best to "whitelist" these one way or another.

Workaround if other solutions fail

If you cannot resolve this situation (such as the host being unwilling to unblock these) you a workaround is to enable the WordPress Alternate Cron setting in your wp-config.php file as a workaround.

    • Add define('ALTERNATE_WP_CRON', true); to your wp-config.php
      • Open your wp-config.php in a text editor. This file is located in the root of your site.
      • Add the line somewhere between the first ( <?php ) and last line of the file (but before the line that says /* That's all, stop editing! Happy blogging. */)

See Also

On Linux Systems

On Linux systems, be sure you have your /etc/hosts file correctly setup as problems here can cause loopback not to work.

Compatibility Mode

  • If your server does not support command line

    Zip then BackupBuddy will fall back into a compatibility mode to help aid you in creating a backup. This mode is significantly slower and less reliable. It is not intended for persistent use and is provided to aid you in backing up in poor hosting environments, for instance to move to another host.

  • Directory exclusion is not available in this mode. Even existing backups will be backed up, resulting in rapidly growing backup file sizes.
  • If you are running on a Windows server (or developing locally, ie on Xampp) you will need to install the Windows zip.exe executable (we do not provide support for setting this up, though the readme.txt in the file does help).
  • Solutions:
    • If you are running CentOS on a VPS or similar type of server then running the command as root will install the zip package and any dependencies. This may also apply to other environments using rpm packages and the yum package manager front-end. The yum manager can also be used to query installed packages and update packages, etc. If you have any issues with this then please consult your host support for additional assistance.
    • for Debian-based Linux (including Ubuntu) run the following at the command line:
    • If you are operating a Media Temple DV server then please make sure you have the Developer Tools installed as this contains the package necessary to provide zip capability.
    • If your server is configured to disable access to the PHP exec() function and if you have access to configure your server then remove any blocking of the PHP exec() function in php.ini and configure permissions to allow running the Linux command line function `zip`.
    • If your server is operating in safe_mode then either turn safe_mode off (if you can) or make sure that the safe_mode_exec_dir configuration parameter includes the directory which contains the `zip` command (please consult your host support for this information)
    • Ask your host to enable access to the Linux command line Zip command via PHP's exec() function.
      • Example message to send to your host:
    • Also possible that even though that zip via exec() is enabled it still may not work if host does not have zip's path location currently as a part of PATH (or the path is not one of the "well known" locations that more recent versions of BackupBuddy with search). The below code is an example of how to add the directory of the zip executable to PATH after you ask your host where it is being kept and whether this is the correct way to do it on their servers or if not what is the preferred way (please note the colon that precedes the path being added):
      • The line has to be added anywhere in the wp-config.php file after the first line ( <?php ) but at least before the line that says /* That's all, stop editing! Happy Blogging */
    • If all of the above are either impossible or unsuccessful and you absolutely must have the native zip command capability then you only option is to move your site to an alternative server or host that provides this capability.

Unable to create directory /public_html/yourdomain/wp-content/uploads/2012/03. Is its parent directory writable by the server?

Happens when trying to activate/install BackupBuddy.

  • Check in WordPress admin Settings->Media under the Uploading Files heading and see if there is anything there. Generally if you are using the default location for wp-content they would be left blank.
  • Also make sure there are not any references to another site in the wp-config.php file, some 1-click WordPress installers add definitions in there other servers don't like

Warning: exec() has been disabled for security reasons in /www/wp-content/plugins/backupbuddy/lib/zip/zip.php on line ###

  • exec() is disabled somewhere in PHP configuration. Ask the host to correct this or use cPanel to edit PHP settings to enable it if possible. See 'Fallback to Compatibility Mode' above.

Warning: mysql_query() [function.mysql-query]: Unable to save result set in /www/wp-content/plugins/backupbuddy/backupbuddy.php on line 1673

Backup marked as bad

Database backup succeeds, full fails


Category: Forex

Similar articles: