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..44a7bfa9e8 100644
--- src/wp-admin/includes/class-wp-plugin-install-list-table.php
+++ src/wp-admin/includes/class-wp-plugin-install-list-table.php
@@ -456,6 +456,8 @@ class WP_Plugin_Install_List_Table extends WP_List_Table {
 
 		$group = null;
 
+		$this->load_requires_php();
+
 		foreach ( (array) $this->items as $plugin ) {
 			if ( is_object( $plugin ) ) {
 				$plugin = (array) $plugin;
@@ -686,4 +688,38 @@ 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 );
+		add_filter('wp_ajax_search-install-plugins', 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;
+	}
+
 }
