Information for: DEVELOPERS   PARTNERS

Known issues in Acquia Cloud

This page describes known issues in Acquia Cloud:

Known issues with PHP and Memcache

Older versions of Drupal 7 are not compatible with PHP 7.2.

Only Drupal 7 versions of 7.61 or greater are compatible with PHP 7.2. When you create or import a Drupal 7 website on Acquia Cloud, ensure you select a compatible version of PHP.

The Acquia Cloud pipelines feature is not compatible with PHP 7.2.

The Acquia Cloud pipelines feature supports only PHP version 7.1 during the build process. You can select PHP version 7.2 from the Acquia Cloud interface after your build artifact is deployed to an on-demand environment.

Memcache configuration and upgrades for Drupal 8 websites requires additional steps.

Although Acquia recommends the use of the Memcache API and Integration module with Drupal 8-based applications, the module is undergoing rapid development. Before you upgrade the Memcache API and Integration module, review Using Memcached and the README.txt file included with the module for updated installation and configuration instructions.

PHP 7 deprecates the memcache class.

Memcached support in PHP 7 environments is provided by the php-memcached extension. This provides the memcached PHP class for interacting with Memcached storage. It does not provide the memcache (no d) class, which was previously provided by the PECL memcache extension in PHP 5.x environments. This will not affect most users, as the Memcache API and Integration module supports both classes. However, other tools may rely exclusively on the deprecated memcache class, which can cause website issues if PHP is upgraded to version 7. If you use SimpleSAMLPHP, be aware of the work being done to address this issue.

Known issues in the Acquia Cloud user interface

Acquia Cloud continues to display terminated pipelines jobs.

Jobs in the Acquia Cloud pipelines feature terminate after 60 minutes, but may continue to display in the Acquia Cloud interface for up to two hours.

Acquia Cloud displays a zlib “freed prematurely” message when inspecting tasks.

When inspecting the output of any successful or failed task, the final line is: zlib(finalizer): the stream was freed prematurely. This message in the task’s output does not indicate a specific issue, and can be ignored.

The Backups page may not list all available backups.

The Backups page in the Acquia Cloud interface lists recent backups for the Acquia Cloud environment. However, there is a delay between the time when backups are created and when they are added or removed from the Backups page. As a result, the most recently created backups may not yet be listed, although older backups that have been replaced and deleted may be listed, but not in fact be available for download or for restoring the database.

Workaround – You can connect to your server using SSH, SFTP, scp, or rsync, and download the backup files from the /mnt/files/[site].[env]/backups directory. For more information, see Downloading database backups from the command line.

The server resize Cancel button does not always work as expected.

In the legacy Acquia Cloud interface, when a user clicks Resize and then clicks Cancel, occasionally the cancel button does not dismiss the dialog box.

Several environment names have changed from previous versions of Acquia Cloud.

After the updated Acquia Cloud interface was released on December 13, 2016, in a few cases some environment names changed to unexpected values.

Workaround – Rename the affected environment to use the desired name. For information about how to rename an environment, see Renaming an environment.

XML is not an acceptable file type in Support tickets.

The acceptable file listing on the customer-facing ticket submission page lists XML as an acceptable file type, but XML files are not accepted for upload.

Workaround – Place the XML in a .zip file, and then attach the .zip file to the ticket.

The Node.js version displays incorrectly in the Acquia Cloud user interface.

Since the Acquia Cloud interface statically sets the Node.js version, the Node.js version displayed in the Acquia Cloud interface may not reflect the Node.js version installed on your environment.

Known issues with version control

Unicode characters and emoji are not supported in branch names.

If a branch name contains a Unicode character, such as an emoji, users will receive a Failure due to fatal system error message when attempting to switch to that branch. This error affects all Acquia Cloud systems, including the pipelines feature.

Git checkouts fail after reporting non-existent changes to binary files.

Git checkouts fail with the following error when non-text files contain a specific byte sequence and are not explicitly defined as binary files: Your local changes to the following files would be overwritten by checkout. Please, commit your changes or stash them.

Workaround – Edit the following section of your .gitattributes file:

# Auto-detect text files, ensure they use LF.
*         text=auto eol=lf

and then make one of the following changes:

  • Remove the line beginning with *
  • Remove the eol=lf text
  • Ensure that a specification line is added for every binary file extension used in your repository

Deployed branches cannot be deleted.

Acquia Cloud does not allow you to delete branches that are deployed to an environment. If you try to delete a branch from the command line, an error message similar to the following will be displayed:

remote: Operation rejected: remote: Git branch or tag test_branch cannot be
deleted because it is currently deployed to testsite.prod

Acquia Cloud displays an error message when pushing code to Git.

When attempting to push code, some users may encounter error messages similar to the following:

remote: error: insufficient permission for adding an object to repository
database ./objects

This can happen when a directory is owned by the root account instead of the siteuser account. Contact Acquia support to correct the directory’s ownership settings.

Known issues with the Acquia Connector

Acquia Connector requests can time out.

When a Drupal website is connected to an Acquia subscription, it sends heartbeat requests during each cron run. By default, cron runs at the beginning of each hour, which can cause the Acquia subscription service to receive thousands of simultaneous connections across all subscriber websites. This can cause some requests to timeout.

Workaround – If your subscription service is experiencing timeouts, Acquia recommends that you modify your cron runs to not begin at the start of the hour.

The Acquia Connector module conflicts with Remote stream wrapper module.

The Acquia Connector module has a conflict with the Remote stream wrapper module.

Workaround – Apply this patch, available on Drupal.org.

Known issues with Drush

You cannot use Drush to update your Drupal 8.4 or greater websites.

Websites running Drupal versions 8.4 or later must be built using Composer, and updating using Drush will no longer be possible.

Using vendored Drush may disable some Drush commands.

Including Drush in an Acquia Cloud application branch may create a conflict between the version installed in the vendor directory and the version installed in Acquia Cloud, disabling some Drush commands. Most notably, it disables Install distribution, which allows you to install a different version of Drupal into the deployed branch.

Workaround – Modify the existing branch by removing Drush from the branch you want to install a Drupal distribution into, or create a new branch without the Drush dependency.

Drush is generally found in one of the following directories:

  • vendor/drush
  • docroot/vendor/drush

If you are using Composer, you can use it to remove Drush by executing the following command:

composer remove drush/drush

See Vendored Drush known issue for additional details.

Drush 9 is incompatible with certain Acquia Drush commands.

The following Acquia Drush commands require you to use Drush 8 instead of Drush 9:

Drush 9 supports only websites built with Composer.

Drush 9 requires your Drupal 8 website to be built with Composer, with Drush listed as a dependency.

Using Drush 9 may display error messages.

If you are using Drush 9 in an Acquia Cloud environment, Acquia Cloud may display the following errors, such as:

  • Fatal error: require(): Failed opening required '/var/www/site-php//D8--[sitename]-settings.inc'
  • Drush command terminated abnormally due to an unrecoverable error.

Workaround – Drush 9 is not fully supported by Acquia Cloud. To determine if this Drush 9-based behavior is affecting your use of the product, execute the following commands from a command prompt:

drush9 php-eval 'var_export($_ENV['AH_SITE_NAME'] , true);'
printenv 'AH_SITE_NAME'

These values must be equal. If they are not:

  1. Edit your website’s settings.php file.
  2. Before the Acquia require line, add $_SERVER['PWD']=DRUPAL_ROOT;.
  3. Save the settings.php file.

Drush 9.6 is not yet supported on Acquia Cloud.

Drush aliases are downloaded only for active on-demand environments.

Drush aliases for Acquia Cloud CD environments are downloaded only if the environment is active.

Known issues with external services

Legacy alerts from New Relic fail with the removal of TLS 1.0.

Legacy alerts from New Relic fail with the removal of TLS 1.0 from Acquia systems. For help in updating your alerts, see: Transition from legacy alerting to New Relic Alerts and Availability monitoring (legacy).

Using Midnight Commander can cause gluster service interruptions.

Acquia Cloud Enterprise customers who use GNU Midnight Commander can experience service interruptions when trying to access their GFS mount. Because of this, Acquia currently recommends that you do not use this software with your Acquia-hosted websites.

Other notable known issues

Multi-region failover does not support multisites.

The Acquia Cloud multi-region failover service supports only a single database per environment.

Some Drupal modules are not supported on Acquia Cloud.

The design of the Acquia platform can sometimes cause incompatibilities with Drupal contributed modules. Some Drupal modules are not supported on Acquia Cloud; these are listed in Modules and applications incompatible with Acquia Cloud. Other modules can be used on Acquia Cloud, but may require caution or special configuration; these are listed in Modules to use with caution on Acquia Cloud. For information about other software that is incompatible with Acquia Cloud, see Unsupported software.

You must rebuild caches after updating Drupal.

Customers upgrading their websites to newer versions of Drupal 8 must rebuild website caches after the upgrading. Unexpected errors and problems with some page displays may occur until caches are rebuilt.

Running update.php on Drupal 8 can display error messages.

Attempting to run update.php on Drupal 8 will fail with the following error message:

In order to run update.php you need to either be logged in as admin or have
set $settings['update_free_access']

Workaround – Use one of the following methods:

  • Run drush updb to complete database updates.

  • Whenever you must run update.php, use your browser’s cookie manager to grab the session cookie from your current authenticated Drupal session, and then remove the leading S from the session name.

  • If you are running updates on your Dev or Stage environments, temporarily disable HTTPS while running updates.

  • Edit your settings.php file to temporarily set $settings['update_free_access'] to TRUE during your updates.

  • ADVANCED – Add the following code to your update.php file (directly following the use statements) to force Drupal to acknowledge the X-Forwarded-Proto value when determining if the request must be treated as HTTPS:

    if (isset($_SERVER["HTTP_X_FORWARDED_PROTO"]) &&
       $_SERVER["HTTP_X_FORWARDED_PROTO"] == "https") {
       $_SERVER['HTTPS'] = 'on';
       }
    

Altering the $databases array causes connection errors.

Websites altering the $databases array in settings.php to enable third-party database connections may experience connection errors when the connection setup is delayed in settings.php. For help, see Modifying the database connections within Drupal.

You cannot import a local website archive using the product interface.

The Acquia Cloud interface does not support importing a website archive from a local file using the UI. Instead, you can import a site archive from a URL or import using Drush.

Drupal 8 websites can have theme change issues with Twig caches.

Drupal 8 applications on Acquia Cloud Enterprise can experience issues where cached Twig templates fall out of sync on different web server instances when changes to themes are being made and a code deployment has been performed. The problem arises from having separate copies of the compiled Twig templates on each web server instance and a related Drupal core issue.

Workaround – When you make changes to themes in Drupal 8 applications on Acquia Cloud Enterprise, connect to each web server instance, and then run a command similar to the following to remove the outdated Twig templates:

drush @[sitename].[prod] --uri=http://[site_URL]/ ev '\Drupal\Core\PhpStorage\PhpStorageFactory::get("twig")->deleteAll();'

The AuthUserFile directive in .htaccess is not supported.

The AuthUserFile directive in the Apache .htaccess file sets the name of a text file containing a list of users and passwords for user authentication. Using AuthUserFile is not supported in Acquia Cloud, since its value must be either an absolute path or a path relative to the server root, and won’t work across different Acquia Cloud environments.

The SymLinksIfOwnerMatch option in .htaccess is not supported.

Due to the configuration of directory ownership and permissions for your Acquia Cloud application’s codebase and files directories, use of the SymLinksIfOwnerMatch option in your application’s .htaccess file will prevent your web server from being able to access any of the assets in your files directory. The FollowSymLinks option must be used instead.

Previous versions of Acquia Cloud used LOGNAME differently.

Do not use the LOGNAME environment variable to determine sitegroup or sitename in your .htaccess file or in other custom scripts.

Workaround – Use the AH_SITE_NAME, AH_SITE_GROUP, or AH_SITE_ENVIRONMENT environment variables if you need environment-aware variables in your scripts.