This page describes known issues in Acquia Cloud:
After upgrading to PHP 7.2, Drupal 7.x applications using the Conditional Rules module display errors similar to the following:
PHP Fatal error: Declaration of RulesRuleUI::form(&$form, &$form_state, $options = Array) must be compatible with RulesActionContainerUI::form(&$form, &$form_state, $options = Array, $iterator = NULL)
Workaround: Upgrade to the 7.x-1.0 version of the Conditional Rules module. For more information, see issue #2959426 on Drupal.org.
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.
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 in
with the module for updated installation and configuration instructions.
The php-memcached
extension provides Memcached support in PHP 7
environments, and the memcached
PHP class for interacting with
Memcached storage. The extension does not provide the memcache
(no d)
class previously provided by the PECL memcache extension in PHP 5.x
environments.
This change will not affect most users, as the Memcache API and
Integration module supports both
classes. However, your application may use other tools relying on the
deprecated memcache
class, which can cause website issues if you upgrade
PHP to version 7. SimpleSAMLPHP, for example, is still affected by this issue.
Using SimpleSAMLphp on a website hosted on Acquia Cloud using PHP 7.2 may see entries in their PHP log files similar to:
PHP Deprecated: The each() function is deprecated. This message will be suppressed on further calls.
These warnings are harmless and will be removed in a future release of Acquia Cloud.
The ssh2 extension has not yet published a stable release that supports PHP 7.3. Once this issue has been resolved, Acquia will evaluate including a stable release of the ssh2 extension in Acquia Cloud.
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.
When inspecting the output of any successful or failed task, the final line
is: zlib(finalizer): the stream was freed prematurely
. This message can be
ignored.
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 Acquia Cloud creates a backup and when the Backups page displays it. As a result, the page may not yet display the most recently created backups, or display older backups that are no longer 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.
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.
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 active domain for an
environment defaults to the first top-level domain name, with or without the
www
prefix, and cannot be changed. Environments containing no top-level
custom domains use the Acquia default domain as the active domain.
Users authenticated into cloud.acquia.com using single sign-on receive the following error when attempting to download database backups:
This resource requires additional authentication.
Workaround: Bypass the external identity provider and sign in to cloud.acquia.com directly, or download database backups directly with the Acquia Cloud API.
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 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:
*
eol=lf
textAcquia Cloud doesn’t allow you to delete branches currently deployed to an environment. If you try to delete a branch from the command line, an error message like the following displays:
remote: Operation rejected: remote: Git branch or tag test_branch cannot be
deleted because it is currently deployed to testsite.prod
When attempting to push code, some users may encounter error messages
like the following example if the root
account owns a directory, instead
of the siteuser
account:
remote: error: insufficient permission for adding an object to repository
database ./objects
Contact Acquia support to correct the directory’s ownership settings.
Acquia Cloud does not support the use of deployment keys (machine keys) that are not associated with an individual user account. All SSH keys must be associated with a user account.
Workaround: Create a user account to associate the deploy key as described in Deployment keys and Acquia Cloud.
Drupal websites connected to Acquia subscription, will send 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, causing some requests to timeout.
Workaround: If your subscription service is experiencing timeouts, Acquia recommends you modify your cron runs to not begin at the start of the hour.
The Acquia Connector module has a conflict with the Remote stream wrapper module, which is listed on the Modules to use with caution on Acquia Cloud page.
Workaround: Apply this patch, available on Drupal.org.
You must use Composer to build websites running Drupal versions 8.4 or later. Updating using Drush will no longer be possible.
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
You can use Composer to remove Drush by executing the following command:
composer remove drush/drush
See Vendored Drush known issue for additional details.
The following Drush commands for use with Acquia Cloud require you to use Drush 8 instead of Drush 9:
ah-db-backup
: Drush command for creating a database backup from the
command line.ah-db-import
: Drush command for importing databases from the command
line. For more information, see Downloading database backups from the command line or
Importing your database.ah-site-archive-import
: Drush command for importing a website
archive file, as described in
Importing an existing application using Drush.Drush 9 requires your Drupal 8 website to be built with Composer, with Drush listed as a dependency.
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: 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:
settings.php
file.$_SERVER['PWD']=DRUPAL_ROOT;
.settings.php
file.Drush aliases for Acquia Cloud CD environments are downloaded only if the environment is active.
Installing Drush in your user directory can cause unexpected task failures. Acquia recommends you require a site-local Drush as part of your codebase, not your home directory, and run your commands with a specific major version of Drush, as described in Using Drush on Acquia Cloud.
Composer builds for Drupal 8 were failing due to a problem with the
behat/mink-selenium2-driver
vendor dependency required by Drupal.
Workaround: Remove the previous workaround, which recommended pinning to the
1.3.x-dev
version of the vendored software. For more
information, see this Acquia knowledge base article
and issue #3078671
on Drupal.org.
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).
Acquia Cloud Enterprise customers who use GNU Midnight Commander can experience service interruptions when trying to access their GFS mount. Acquia currently recommends that you do not use Midnight Commander with your Acquia-hosted websites.
You can’t generate certificate signing requests (CSRs) for Node.js applications from the Acquia Cloud user interface.
Workaround: Upload SSL certificates manually.
If a Drupal module logs information with the RFC 5424 severity of emergency
, syslog
broadcasts the information to open SSH sessions. These broadcasts can
disrupt commands in progress, as indicated in the following example:
Broadcast message from [email protected]
Workaround: Either modify the module’s logging function to decrease the
message’s severity from emergency
to another level, or disable the module’s
logging feature.
The Acquia Cloud multi-region failover service supports only a single database per environment.
The design of the Acquia platform can sometimes cause incompatibilities with Drupal contributed modules. Drupal modules not supported on Acquia Cloud are listed in Modules and applications incompatible with Acquia Cloud. Other modules usable on Acquia Cloud with caution or special configuration are listed in Modules to use with caution on Acquia Cloud. For information about other software incompatible with Acquia Cloud, see Unsupported software.
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 you rebuild caches.
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';
}
$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
.
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.
Clearing a website’s Twig caches clears the Twig caches for all websites hosted by that environment. For more information about how Acquia Cloud stores Twig caches, see Twig caches.
Resolution for Acquia Cloud Site Factory subscribers: Upgrade your installed version of the Acquia Cloud Site Factory Connector module to either version 8.x-1.59 or greater, or version 8.x-2.59 or greater (for Drush 9 support).
Drupal 8 applications on Acquia Cloud Enterprise can experience issues where cached Twig templates fall out of sync on different web server instances when changing themes and performing a code deployment. 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 like 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 the Apache .htaccess
file sets the name
of a text file containing a list of users and passwords for user
authentication. Acquia Cloud does not support AuthUserFile
, 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.
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 accessing any of the assets in your
files directory. You must use the FollowSymLinks
option instead.
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.
For issues with Acquia Cloud CD, see Known issues in Acquia Cloud CD.
The Acquia Cloud pipelines user interface uses a user authentication system incompatible with IP address whitelisting.
Workaround: Use the command-line interface instead.
The Bitbucket permissions model requires that the current user own the repository and all of the code being deployed. Users may be unable to add branches from external pull requests or experience other issues.
The Acquia Cloud pipelines feature works only with Bitbucket Cloud, and not Bitbucket Server.
The API for Bitbucket does not allow you to pull in the branch from a fork inside a pull request.
You must add a user as a collaborator to your fork to see the user’s branches.
OpenSSH version 7.8 now generates RSA key pairs with a default format incompatible with the Acquia Cloud pipelines feature. Pipelines jobs that include a SSH key generated in the default format by these versions of OpenSSH in the ssh-keys section of the build definition file will fail with the following error:
Failed to parse the build file. The SSH key named [KEY NAME] is not a valid
SSH private key or requires a password.
Workaround: Generate a key using a format compatible with pipelines jobs:
ssh-keygen -m PEM -t rsa -b 4096
The Acquia Cloud Platform CDN is incompatible with Node.js applications.
The Acquia Cloud Platform CDN does not support the use of custom Varnish configurations (custom VCLs) with Acquia Cloud-hosted applications. Attempting to do so can cause Acquia Cloud Enterprise to experience conflicting caching behavior.