Aquí tienes la razón y la solución de cuando tienes el acceso a terminal de comandos (ssh) cuando el comando “wp db export” no funciona.
Al entrar a terminal usando ssh con mis credencias: ssh -p 2299 usuario@ip_de_servidor
He intentado hacer el backup de la base de datos con el commando de wp-cli “wp db export” pero no ha pasado absolutamente nada…
La consola fue vacía… Hm… curioso. Ok miramos el log de errores que por suerte fue en la misma ruta en el fichero error_log:
El comando para ver: cat error_log
PHP Fatal error: Uncaught Error: Call to undefined function exec() in phar:///usr/local/bin/wp-cli-2.11.0.phar/vendor/wp-cli/db-command/src/DB_Command.php:613
Stack trace:
#0 [internal function]: DB_Command->export()
#1 phar:///usr/local/bin/wp-cli-2.11.0.phar/vendor/wp-cli/wp-cli/php/WP_CLI/Dispatcher/CommandFactory.php(100): call_user_func()
#2 [internal function]: WP_CLI\Dispatcher\CommandFactory::WP_CLI\Dispatcher\{closure}()
#3 phar:///usr/local/bin/wp-cli-2.11.0.phar/vendor/wp-cli/wp-cli/php/WP_CLI/Dispatcher/Subcommand.php(497): call_user_func()
#4 phar:///usr/local/bin/wp-cli-2.11.0.phar/vendor/wp-cli/wp-cli/php/WP_CLI/Runner.php(441): WP_CLI\Dispatcher\Subcommand->invoke()
#5 phar:///usr/local/bin/wp-cli-2.11.0.phar/vendor/wp-cli/wp-cli/php/WP_CLI/Runner.php(464): WP_CLI\Runner->run_command()
#6 phar:///usr/local/bin/wp-cli-2.11.0.phar/vendor/wp-cli/wp-cli/php/WP_CLI/Runner.php(136): WP_CLI\Runner->run_command_and_exit()
#7 phar:///usr/local/bin/wp-cli-2.11.0.phar/vendor/wp-cli/wp-cli/php/WP_CLI/Runner.php(1350): WP_CLI\Runner->do_early_invoke()
#8 phar:///usr/local/bin/wp-cli-2.11.0.phar/vendor/wp-cli/wp-cli/php/WP_CLI/Runner.php(1294): WP_CLI\Runner->load_wordpress()
#9 phar:///usr/local/bin/wp-cli-2.11.0.phar/vendor/wp-cli/wp-cli/php/WP_CLI/Bootstrap/LaunchRunner.php(28): WP_CLI\Runner->start()
#10 phar:///usr/local/bin/wp-cli-2.11.0.phar/vendor/wp-cli/wp-cli/php/bootstrap.php(83): WP_CLI\Bootstrap\LaunchRunner->process()
#11 phar:///usr/local/bin/wp-cli-2.11.0.phar/vendor/wp-cli/wp-cli/php/wp-cli.php(32): WP_CLI\bootstrap()
#12 phar:///usr/local/bin/wp-cli-2.11.0.phar/php/boot-phar.php(20): include(‘phar:///usr/loc…’)
#13 /usr/local/bin/wp-cli-2.11.0.phar(4): include(‘phar:///usr/loc…’)
#14 {main}
thrown in phar:///usr/local/bin/wp-cli-2.11.0.phar/vendor/wp-cli/db-command/src/DB_Command.php on line 613
EL resumen de este error es que “PHP Fatal error: Uncaught Error: Call to undefined function exec()” significa que la función php exec() es la que arranca el comando mysqldump no puede ser ejecutada, porque esta desactivada por seguridad en el panel de alojamiento.

Existe como mínimo dos Soluciones:
- Una mas peligrosa, es quitar la función de php exec() desde excluidas. Y después, usar el comando “wp db export”.
- Y la otra es crear un pequeño script para exportar la base de datos:
En mi opinion, es la solución ideal sin poner servidor al peligro, permitiendo las funciones peligrosas como exec o otras similares.
El contenido de este script es muy simple i corto:
mysqldump --default-character-set=utf8mb4 --skip-set-charset --user=mysql_usuario --password='Contraseña' --databases nombre_de_la_base --result-file="su_web_$(date +'%Y%m%d_%H%M%S').sql"
Espero que esto sirva para algunos. Saludos.