WP_CLI::set_url_params PHP Method

set_url_params() private static method

private static set_url_params ( $url_parts )
    private static function set_url_params($url_parts)
    {
        $f = function ($key) use($url_parts) {
            return \WP_CLI\Utils\get_flag_value($url_parts, $key, '');
        };
        if (isset($url_parts['host'])) {
            if (isset($url_parts['scheme']) && 'https' === strtolower($url_parts['scheme'])) {
                $_SERVER['HTTPS'] = 'on';
            }
            $_SERVER['HTTP_HOST'] = $url_parts['host'];
            if (isset($url_parts['port'])) {
                $_SERVER['HTTP_HOST'] .= ':' . $url_parts['port'];
            }
            $_SERVER['SERVER_NAME'] = $url_parts['host'];
        }
        $_SERVER['REQUEST_URI'] = $f('path') . (isset($url_parts['query']) ? '?' . $url_parts['query'] : '');
        $_SERVER['SERVER_PORT'] = \WP_CLI\Utils\get_flag_value($url_parts, 'port', '80');
        $_SERVER['QUERY_STRING'] = $f('query');
    }

Usage Example

Example #1
0
 /**
  * Run wp_install. Assumes that wp-config.php is already in place.
  */
 public function install($args, $assoc_args)
 {
     require_once ABSPATH . 'wp-admin/includes/upgrade.php';
     if (is_blog_installed()) {
         WP_CLI::error('WordPress is already installed.');
     }
     extract(wp_parse_args($assoc_args, array('site_url' => defined('WP_SITEURL') ? WP_SITEURL : '', 'site_title' => '', 'admin_name' => 'admin', 'admin_email' => '', 'admin_password' => '')), EXTR_SKIP);
     $missing = false;
     foreach (array('site_url', 'site_title', 'admin_email', 'admin_password') as $required_arg) {
         if (empty(${$required_arg})) {
             WP_CLI::warning("missing --{$required_arg} parameter");
             $missing = true;
         }
     }
     if ($site_url) {
         WP_CLI::set_url_params($site_url);
     }
     if ($missing) {
         exit(1);
     }
     $public = true;
     $result = wp_install($site_title, $admin_name, $admin_email, $public, '', $admin_password);
     if (is_wp_error($result)) {
         WP_CLI::error('Installation failed (' . WP_CLI::errorToString($result) . ').');
     } else {
         WP_CLI::success('WordPress installed successfully.');
     }
 }
All Usage Examples Of WP_CLI::set_url_params