Beispiel #1
0
 /**
  * Generate a wp-config.php file.
  *
  * ## OPTIONS
  *
  * --dbname=<dbname>
  * : Set the database name.
  *
  * --dbuser=<dbuser>
  * : Set the database user.
  *
  * [--dbpass=<dbpass>]
  * : Set the database user password.
  *
  * [--dbhost=<dbhost>]
  * : Set the database host. Default: 'localhost'
  *
  * [--dbprefix=<dbprefix>]
  * : Set the database table prefix. Default: 'wp_'
  *
  * [--dbcharset=<dbcharset>]
  * : Set the database charset. Default: 'utf8'
  *
  * [--dbcollate=<dbcollate>]
  * : Set the database collation. Default: ''
  *
  * [--locale=<locale>]
  * : Set the WPLANG constant. Defaults to $wp_local_package variable.
  *
  * [--extra-php]
  * : If set, the command copies additional PHP code into wp-config.php from STDIN.
  *
  * [--skip-salts]
  * : If set, keys and salts won't be generated, but should instead be passed via `--extra-php`.
  *
  * [--skip-check]
  * : If set, the database connection is not checked.
  *
  * ## EXAMPLES
  *
  *     # Standard wp-config.php file
  *     wp core config --dbname=testing --dbuser=wp --dbpass=securepswd --locale=ro_RO
  *
  *     # Enable WP_DEBUG and WP_DEBUG_LOG
  *     wp core config --dbname=testing --dbuser=wp --dbpass=securepswd --extra-php <<PHP
  *     define( 'WP_DEBUG', true );
  *     define( 'WP_DEBUG_LOG', true );
  *     PHP
  */
 public function config($_, $assoc_args)
 {
     if (Utils\locate_wp_config()) {
         WP_CLI::error("The 'wp-config.php' file already exists.");
     }
     $defaults = array('dbhost' => 'localhost', 'dbpass' => '', 'dbprefix' => 'wp_', 'dbcharset' => 'utf8', 'dbcollate' => '', 'locale' => self::get_initial_locale());
     $assoc_args = array_merge($defaults, $assoc_args);
     if (preg_match('|[^a-z0-9_]|i', $assoc_args['dbprefix'])) {
         WP_CLI::error('--dbprefix can only contain numbers, letters, and underscores.');
     }
     // Check DB connection
     if (!isset($assoc_args['skip-check'])) {
         Utils\run_mysql_command('mysql --no-defaults', array('execute' => ';', 'host' => $assoc_args['dbhost'], 'user' => $assoc_args['dbuser'], 'pass' => $assoc_args['dbpass']));
     }
     if (isset($assoc_args['extra-php']) && $assoc_args['extra-php'] === true) {
         $assoc_args['extra-php'] = file_get_contents('php://stdin');
     }
     // TODO: adapt more resilient code from wp-admin/setup-config.php
     if (!isset($assoc_args['skip-salts'])) {
         $assoc_args['keys-and-salts'] = self::_read('https://api.wordpress.org/secret-key/1.1/salt/');
     }
     $out = Utils\mustache_render('wp-config.mustache', $assoc_args);
     $bytes_written = file_put_contents(ABSPATH . 'wp-config.php', $out);
     if (!$bytes_written) {
         WP_CLI::error('Could not create new wp-config.php file.');
     } else {
         WP_CLI::success('Generated wp-config.php file.');
     }
 }
 private static function run_sql($sql)
 {
     Utils\run_mysql_command('mysql --no-defaults', array('execute' => $sql, 'host' => 'localhost', 'user' => self::$db_settings['dbuser'], 'pass' => self::$db_settings['dbpass']));
 }
Beispiel #3
0
 private static function run($cmd, $assoc_args = array(), $descriptors = null)
 {
     $required = array('host' => DB_HOST, 'user' => DB_USER, 'pass' => DB_PASSWORD);
     if (defined('DB_CHARSET') && constant('DB_CHARSET')) {
         $required['default-character-set'] = constant('DB_CHARSET');
     }
     $final_args = array_merge($assoc_args, $required);
     Utils\run_mysql_command($cmd, $final_args, $descriptors);
 }
Beispiel #4
0
Datei: db.php Projekt: nb/wp-cli
 private static function run($cmd, $assoc_args = array(), $descriptors = null)
 {
     $final_args = array_merge($assoc_args, array('host' => DB_HOST, 'user' => DB_USER, 'pass' => DB_PASSWORD, 'default-character-set' => DB_CHARSET));
     Utils\run_mysql_command($cmd, $final_args, $descriptors);
 }