Alex Moreno

A Drupal Developer in London

Executing memcached in Travis

So, I heard you need Drupal and memcached running in Travis, right? But you have this "little" issue that Travis/Drupal cannot connect to memcached, something like:

WD memcache: You must enable the PHP memcache (recommended) or [error] memcached extension to use 
WD memcache: Failed to connect to memcache server: [error]

Before you jump into docs and tutorials on how to install memcached in Travis, probably it's already there, you just have to enable.


RuntimeException: Could not delete docroot/core/.git/ ...

First sign of something going wrong, you do a composer update and get this in the middle:

  Could not delete docroot/core/.git/hooks/applypatch-msg.sample:
You can get different messages, core path, whatever. Important to notice is that the process (composer) has been suddenly interrupted. Worst thing is that, after this, you just get:

  Source directory docroot/core has unpushed changes on the current branch:

Parse error: syntax error, unexpected ':', expecting ';' or '{' in vendor/doctrine/annotations/lib/Doctrine/Common/Annotations/AnnotationRegistry.php on line 50

Easy error to fix, once you know what's going on (is not always the case?).

Just upgrade your system from php 5 to php7. Drupal8 requirement.

In BLT, just edit your box/config.yml and change this line

php_version: "5.6"

to this:

php_version: "7.2"

Good old vagrant provision should do the rest of the trick. You are welcome :-)


Ansistrano, deploying Drupal with Ansible

Last months have been pretty busy here at BBC Worldwide with some of the projects we've been involved in.

In my case, one of the main areas I’ve been trying to improve (apart of the daily busy routine) is our devops / CI approach. The previous approach was using Chef, but it was not really adopted by the developers (which meant that after some months, the system was broken) and we were lacking some fundamental things (like integration with the production system, a real CI flow, etc…).