Errors on deploy - Module 'xml' already loaded etc

I’m getting an error on deploy that I can’t resolve

FAILED! => {"changed": false, "cmd": ["wp", "core", "is-installed"], "delta": "0:00:00.202497", "end": "2016-02-26 15:44:24.833804", "failed": true, "failed_when_result": true, "rc": 0, "start": "2016-02-26 15:44:24.631307", "stderr": "PHP Warning: Module 'xml' already loaded in Unknown on line 0\nPHP Warning: Module 'dom' already loaded in Unknown on line 0\nPHP Warning: Module 'mbstring' already loaded in Unknown on line 0\nPHP Warning: Module 'SimpleXML' already loaded in Unknown on line 0\nPHP Warning: Module 'xmlreader' already loaded in Unknown on line 0\nPHP Warning: Module 'xmlwriter' already loaded in Unknown on line 0\nPHP Warning: Module 'zip' already loaded in Unknown on line 0", "stdout": "", "stdout_lines": [], "warnings": []}

This is on a digital ocean droplet.
Latest trellis - I updated my local ansible, removed vendor/roles and reinstalled the ansible requirements.
I re-provisioned the server and then tried to deploy and got these errors.

Any tips?!

We recently added more extensions by default in Trellis. They could be causing problems for PHP on the command line (CLI).

You could do some debugging according to this: http://stackoverflow.com/questions/21923534/php-warning-module-mcrypt-already-loaded

Check if you see any duplicate lines in the PHP cli config file.

I ended up destroying the droplet and starting again - everything seems to have gone up ok this time onto a fresh droplet.

1 Like

FAILED! => {"changed": false, "cmd": ["wp", "core", "is-installed"], "delta": "0:00:00.289962", "end": "2016-03-03 18:39:50.425271", "failed": true, "failed_when_result": true, "rc": 0, "start": "2016-03-03 18:39:50.135309", "stderr": "PHP Warning: Module 'PDO' already loaded in Unknown on line 0\nPHP Warning: Module 'xml' already loaded in Unknown on line 0\nPHP Warning: Module 'calendar' already loaded in Unknown on line 0\nPHP Warning: Module 'ctype' already loaded in Unknown on line 0\nPHP Warning: Module 'dom' already loaded in Unknown on line 0\nPHP Warning: Module 'exif' already loaded in Unknown on line 0\nPHP Warning: Module 'fileinfo' already loaded in Unknown on line 0\nPHP Warning: Module 'ftp' already loaded in Unknown on line 0\nPHP Warning: Module 'gettext' already loaded in Unknown on line 0\nPHP Warning: Module 'iconv' already loaded in Unknown on line 0\nPHP Warning: Module 'mbstring' already loaded in Unknown on line 0\nPHP Warning: Module 'Phar' already loaded in Unknown on line 0\nPHP Warning: Module 'posix' already loaded in Unknown on line 0\nPHP Warning: Module 'shmop' already loaded in Unknown on line 0\nPHP Warning: Module 'SimpleXML' already loaded in Unknown on line 0\nPHP Warning: Module 'sockets' already loaded in Unknown on line 0\nPHP Warning: Module 'sysvmsg' already loaded in Unknown on line 0\nPHP Warning: Module 'sysvsem' already loaded in Unknown on line 0\nPHP Warning: Module 'sysvshm' already loaded in Unknown on line 0\nPHP Warning: Module 'tokenizer' already loaded in Unknown on line 0\nPHP Warning: Module 'xmlreader' already loaded in Unknown on line 0\nPHP Warning: Module 'xmlwriter' already loaded in Unknown on line 0\nPHP Warning: Module 'zip' already loaded in Unknown on line 0\nPHP Warning: Module 'zlib' already loaded in Unknown on line 0", "stdout": "", "stdout_lines": [], "warnings": []}

I’ve the same issue here, but I can’t reinstall the droplet because I’m not using Digitalocean and I can’t shutdown the server.

As you mentioned, I searched along all the php.ini files for the extension= but I can’t find the place where php loads the extensions and seems not to be in a php.ini file.

Any suggest?

Maybe deleting php and all the extensions and after run a server provision will fix the issue, but I don’t know how to completly remove php and all the extensions.

I have the same issue when I updated to the latest Trellis with an existing server.

It seems that when running php commands at the CLI the modules in /etc/php/7.0/fpm/conf.d AND /etc/php/7.0/cli/conf.d are being loaded

There is probably a much better solution, but I disabled the conflicting plugins in the CLI directory and it seems ok:

cd /etc/php/7.0/cli

mkdir conf.disabled

cd conf.d

mv 10-pdo.ini   ../conf.disabled
mv 15-xml.ini   ../conf.disabled
mv 20-calendar.ini   ../conf.disabled
mv 20-ctype.ini   ../conf.disabled
mv 20-dom.ini   ../conf.disabled
mv 20-exif.ini   ../conf.disabled
mv 20-fileinfo.ini   ../conf.disabled
mv 20-ftp.ini   ../conf.disabled
mv 20-gettext.ini   ../conf.disabled
mv 20-iconv.ini   ../conf.disabled
mv 20-mbstring.ini   ../conf.disabled
mv 20-phar.ini   ../conf.disabled
mv 20-posix.ini   ../conf.disabled
mv 20-simplexml.ini   ../conf.disabled
mv 20-sockets.ini   ../conf.disabled
mv 20-sysvmsg.ini   ../conf.disabled
mv 20-sysvsem.ini   ../conf.disabled
mv 20-sysvshm.ini   ../conf.disabled
mv 20-tokenizer.ini   ../conf.disabled
mv 20-xmlreader.ini   ../conf.disabled
mv 20-xmlwriter.ini   ../conf.disabled
mv 20-zip.ini   ../conf.disabled
mv 20-zlib.ini   ../conf.disabled

Definitely open to a better solution than this!

1 Like