diff --git src/wp-admin/includes/class-wp-plugin-install-list-table.php src/wp-admin/includes/class-wp-plugin-install-list-table.php
index a19729b1d4..3f73dbb6ed 100644
--- src/wp-admin/includes/class-wp-plugin-install-list-table.php
+++ src/wp-admin/includes/class-wp-plugin-install-list-table.php
@@ -686,4 +686,37 @@ class WP_Plugin_Install_List_Table extends WP_List_Table {
 			echo '</div></div>';
 		}
 	}
+
+	/**
+	 * Loads the filter hook to disable the plugin install button if PHP version not sufficient.
+	 */
+	public function load_requires_php(){
+		add_filter( 'plugin_install_action_links', array( $this, 'disable_install_button' ), 10, 2 );
+	}
+
+	/**
+	 * Filter plugin action links in Install Plugin page.
+	 *
+	 * @param array $action_links
+	 * @param array $plugin
+	 *
+	 * @return array $action_links
+	 */
+	public function disable_install_button( $action_links, $plugin ) {
+		$disable_button = '<button type="button" class="button button-disabled" disabled="disabled">';
+		$disable_button .= __( 'Cannot install' );
+		$disable_button .= '</button>';
+
+		if ( $plugin['requires_php'] &&
+		     version_compare( PHP_VERSION, $plugin['requires_php'], '<=' )
+		) {
+			unset( $action_links[0] );
+			$action_links[] = __( 'PHP version too low' );
+			$action_links[] = $disable_button;
+			$action_links   = array_reverse( $action_links );
+		}
+
+		return $action_links;
+	}
+
 }
diff --git a/wp-admin/plugin-install.php b/wp-admin/plugin-install.php
index fe5f414cd1..b07e6aa1b9 100644
--- a/wp-admin/plugin-install.php
+++ b/wp-admin/plugin-install.php
@@ -39,6 +39,7 @@ if ( ! empty( $_REQUEST['_wp_http_referer'] ) ) {
 }
 
 $wp_list_table->prepare_items();
+$wp_list_table->load_requires_php();
 
 $total_pages = $wp_list_table->get_pagination_arg( 'total_pages' );
 
