Question

Why does wordpress not install?

having reinstalled my server i am unable to install WP. It keeps telling me php is not running, IT IS, version 7 in fact. This is getting beyond a joke. 4 frickin days spent on this nonsense.

Subscribe
Share

WordPress Error: PHP is not running

WordPress requires that your web server is running PHP. Your server does not have PHP installed, or PHP is turned off.

prepare( “SHOW TABLES LIKE %s”, $wpdb->esc_like( $wpdb->users ) ); $user_table = ( $wpdb->get_var( $sql ) != null ); // Ensure that Blogs appear in search engines by default. $blog_public = 1; if ( isset( $_POST[‘weblog_title’] ) ) { $blog_public = isset( $_POST[‘blog_public’] ); } $weblog_title = isset( $_POST[‘weblog_title’] ) ? trim( wp_unslash( $_POST[‘weblog_title’] ) ) : ‘’; $user_name = isset($_POST[‘user_name’]) ? trim( wp_unslash( $_POST[‘user_name’] ) ) : ‘’; $admin_email = isset( $_POST[‘admin_email’] ) ? trim( wp_unslash( $_POST[‘admin_email’] ) ) : ‘’; if ( ! is_null( $error ) ) { ?>

'; } else { ?>

/> />

/>

‘submit’ ) ); ?> ’ . __( ‘Already Installed’ ) . ‘’ . ’

’ . __( ‘You appear to have already installed WordPress. To reinstall please clear your old database tables first.’ ) . ’ ’ . ’

’ . __( ‘Log In’ ) . ’ ’ . ‘’ ); } /** * @global string $wp_version * @global string $required_php_version * @global string $required_mysql_version * @global wpdb $wpdb / global $wp_version, $required_php_version, $required_mysql_version; $php_version = phpversion(); $mysql_version = $wpdb->db_version(); $php_compat = version_compare( $php_version, $required_php_version, ‘>=’ ); $mysql_compat = version_compare( $mysql_version, $required_mysql_version, ‘>=’ ) || file_exists( WP_CONTENT_DIR . ‘/db.php’ ); if ( !$mysql_compat && !$php_compat ) { / translators: 1: WordPress version number, 2: Minimum required PHP version number, 3: Minimum required MySQL version number, 4: Current PHP version number, 5: Current MySQL version number / $compat = sprintf( __( ‘You cannot install because WordPress %1$s requires PHP version %2$s or higher and MySQL version %3$s or higher. You are running PHP version %4$s and MySQL version %5$s.’ ), $wp_version, $required_php_version, $required_mysql_version, $php_version, $mysql_version ); } elseif ( !$php_compat ) { / translators: 1: WordPress version number, 2: Minimum required PHP version number, 3: Current PHP version number / $compat = sprintf( __( ‘You cannot install because WordPress %1$s requires PHP version %2$s or higher. You are running version %3$s.’ ), $wp_version, $required_php_version, $php_version ); } elseif ( !$mysql_compat ) { / translators: 1: WordPress version number, 2: Minimum required MySQL version number, 3: Current MySQL version number */ $compat = sprintf( __( ‘You cannot install because WordPress %1$s requires MySQL version %2$s or higher. You are running version %3$s.’ ), $wp_version, $required_mysql_version, $mysql_version ); } if ( !$mysql_compat || !$php_compat ) { display_header(); die( ’ ’ . __( ‘Insufficient Requirements’ ) . ’

’ . $compat . ’ ’ ); } if ( ! is_string( $wpdb->base_prefix ) || ‘’ === $wpdb->base_prefix ) { display_header(); die( ’ ’ . __( ‘Configuration Error’ ) . ’ ’ . ’

’ . sprintf( /* translators: %s: wp-config.php */ __( ‘Your %s file has an empty database table prefix, which is not supported.’ ), ‘wp-config.php’ ) . ’ ’ ); } // Set error message if DO_NOT_UPGRADE_GLOBAL_TABLES isn’t set as it will break install. if ( defined( ‘DO_NOT_UPGRADE_GLOBAL_TABLES’ ) ) { display_header(); die( ’ ’ . __( ‘Configuration Error’ ) . ’ ’ . ’

’ . sprintf( /* translators: %s: DO_NOT_UPGRADE_GLOBAL_TABLES / __( ‘The constant %s cannot be defined when installing WordPress.’ ), ‘DO_NOT_UPGRADE_GLOBAL_TABLES’ ) . ’ ’ ); } /* * @global string $wp_local_package * @global WP_Locale $wp_locale */ $language = ‘’; if ( ! empty( $REQUEST[‘language’] ) ) { $language = preg_replace( '/[^a-zA-Z0-9]/', ‘’, $_REQUEST[‘language’] ); } elseif ( isset( $GLOBALS[‘wp_local_package’] ) ) { $language = $GLOBALS[‘wp_local_package’]; } $scripts_to_print = array( ‘jquery’ ); switch($step) { case 0: // Step 0 if ( wp_can_install_language_pack() && empty( $language ) && ( $languages = wp_get_available_translations() ) ) { $scripts_to_print[] = ‘language-chooser’; display_header( ‘language-chooser’ ); echo ’ '; wp_install_language_form( $languages ); echo ’ '; break; } // Deliberately fall through if we can’t reach the translations API. case 1: // Step 1, direct link or from language chooser. if ( ! empty( $language ) ) { $loaded_language = wp_download_language_pack( $language ); if ( $loaded_language ) { load_default_textdomain( $loaded_language ); $GLOBALS[‘wp_locale’] = new WP_Locale(); } } $scripts_to_print[] = ‘user-profile’; display_header(); ?>

error ) ) wp_die( $wpdb->error->get_error_message() ); $scripts_to_print[] = ‘user-profile’; display_header(); // Fill in the data we gathered $weblog_title = isset( $_POST[‘weblog_title’] ) ? trim( wp_unslash( $_POST[‘weblog_title’] ) ) : ‘’; $user_name = isset($_POST[‘user_name’]) ? trim( wp_unslash( $_POST[‘user_name’] ) ) : ‘’; $admin_password = isset($_POST[‘admin_password’]) ? wp_unslash( $_POST[‘admin_password’] ) : ‘’; $admin_password_check = isset($_POST[‘admin_password2’]) ? wp_unslash( $_POST[‘admin_password2’] ) : ‘’; $admin_email = isset( $_POST[‘admin_email’] ) ?trim( wp_unslash( $_POST[‘admin_email’] ) ) : ‘’; $public = isset( $_POST[‘blog_public’] ) ? (int) $_POST[‘blog_public’] : 1; // Check email address. $error = false; if ( empty( $user_name ) ) { // TODO: poka-yoke display_setup_form( __( ‘Please provide a valid username.’ ) ); $error = true; } elseif ( $user_name != sanitize_user( $user_name, true ) ) { display_setup_form( __( ‘The username you provided has invalid characters.’ ) ); $error = true; } elseif ( $admin_password != $admin_password_check ) { // TODO: poka-yoke display_setup_form( __( ‘Your passwords do not match. Please try again.’ ) ); $error = true; } elseif ( empty( $admin_email ) ) { // TODO: poka-yoke display_setup_form( __( ‘You must provide an email address.’ ) ); $error = true; } elseif ( ! is_email( $admin_email ) ) { // TODO: poka-yoke display_setup_form( __( ‘Sorry, that isn’t a valid email address. Email addresses look like username@example.com.’ ) ); $error = true; } if ( $error === false ) { $wpdb->show_errors(); $result = wp_install( $weblog_title, $user_name, $admin_email, $public, ‘’, wp_slash( $admin_password ), $loaded_language ); ?>

’ . __( ‘Welcome to your WordPress Dashboard! This is the screen you will see when you log in to your site, and gives you access to all the site management features of WordPress. You can get help for any screen by clicking the Help tab above the screen title.’ ) . ’

'; $screen = get_current_screen(); $screen->add_help_tab( array( ‘id’ => ‘overview’, ‘title’ => __( ‘Overview’ ), ‘content’ => $help, ) ); // Help tabs $help = ’

’ . __( ‘The left-hand navigation menu provides links to all of the WordPress administration screens, with submenu items displayed on hover. You can minimize this menu to a narrow icon strip by clicking on the Collapse Menu arrow at the bottom.’ ) . ’ '; $help .= ’

’ . __( ‘Links in the Toolbar at the top of the screen connect your dashboard and the front end of your site, and provide access to your profile and helpful WordPress information.’ ) . ’ '; $screen->add_help_tab( array( ‘id’ => ‘help-navigation’, ‘title’ => __( ‘Navigation’ ), ‘content’ => $help, ) ); $help = ’

’ . __( ‘You can use the following controls to arrange your Dashboard screen to suit your workflow. This is true on most other administration screens as well.’ ) . ’ '; $help .= ’

’ . __( ‘Screen Options — Use the Screen Options tab to choose which Dashboard boxes to show.’ ) . ’ '; $help .= ’

’ . __( ‘Drag and Drop — To rearrange the boxes, drag and drop by clicking on the title bar of the selected box and releasing when you see a gray dotted-line rectangle appear in the location you want to place the box.’ ) . ’ '; $help .= ’

’ . __( ‘Box Controls — Click the title bar of the box to expand or collapse it. Some boxes added by plugins may have configurable content, and will show a “Configure” link in the title bar if you hover over it.’ ) . ’ '; $screen->add_help_tab( array( ‘id’ => ‘help-layout’, ‘title’ => __( ‘Layout’ ), ‘content’ => $help, ) ); $help = ’

’ . __( ‘The boxes on your Dashboard screen are:’ ) . ’ '; if ( current_user_can( ‘edit_posts’ ) ) $help .= ’

’ . __( ‘At A Glance — Displays a summary of the content on your site and identifies which theme and version of WordPress you are using.’ ) . ’ '; $help .= ’

’ . __( ‘Activity — Shows the upcoming scheduled posts, recently published posts, and the most recent comments on your posts and allows you to moderate them.’ ) . ’ '; if ( is_blog_admin() && current_user_can( ‘edit_posts’ ) ) $help .= ’

’ . __( “Quick Draft — Allows you to create a new post and save it as a draft. Also displays links to the 5 most recent draft posts you’ve started.” ) . ’ '; if ( ! is_multisite() && current_user_can( ‘install_plugins’ ) ) $help .= ’

’ . sprintf( /* translators: %s: WordPress Planet URL */ __( ‘WordPress News — Latest news from the official WordPress project, the WordPress Planet, and popular plugins.’ ), __( ‘https://planet.wordpress.org/’ ) ) . ’ '; else $help .= ’

’ . sprintf( /* translators: %s: WordPress Planet URL */ __( ‘WordPress News — Latest news from the official WordPress project and the WordPress Planet.’ ), __( ‘https://planet.wordpress.org/’ ) ) . ’ '; if ( current_user_can( ‘edit_theme_options’ ) ) $help .= ’

’ . __( ‘Welcome — Shows links for some of the most common tasks when setting up a new site.’ ) . ’ '; $screen->add_help_tab( array( ‘id’ => ‘help-content’, ‘title’ => __( ‘Content’ ), ‘content’ => $help, ) ); unset( $help ); $screen->set_help_sidebar( ’

’ . __( ‘For more information:’ ) . ’ ’ . ’

’ . __( ‘Documentation on Dashboard’ ) . ’ ’ . ’

’ . __( ‘Support Forums’ ) . ’ ’ ); include( ABSPATH . ‘wp-admin/admin-header.php’ ); ?> user_email != get_option( ‘admin_email’ ) ); if ( $hide ) $classes .= ’ hidden’; ?>


Submit an answer
You can type!ref in this text area to quickly search our full set of tutorials, documentation & marketplace offerings and insert the link!

These answers are provided by our Community. If you find them useful, show some love by clicking the heart. If you run into issues leave a comment, or add your own answer to help others.

Can you share some details on what steps you took to install your webserver (and what server you are running) and PHP?

If you are running Nginx as your web server you will need php-fpm installed, configured and running in order to process PHP scripts.

If you are running Apache ensure you have libapache2-mod-php installed and not just the CLI version of PHP.

Another thing to check is that your WordPress files and folders are owned by the user the web server is running as. On Ubuntu this will be www-data by default.