Index: wp-admin/includes/upgrade.php
===================================================================
--- wp-admin/includes/upgrade.php	(revision 11874)
+++ wp-admin/includes/upgrade.php	(working copy)
@@ -75,7 +75,7 @@
 	$wp_rewrite->flush_rules();
 
 	wp_new_blog_notification($blog_title, $guessurl, $user_id, $random_password);
-
+	wp_check_php_version();
 	wp_cache_flush();
 
 	return array('url' => $guessurl, 'user_id' => $user_id, 'password' => $random_password, 'password_message' => $message);
@@ -268,6 +268,7 @@
 		return;
 
 	wp_check_mysql_version();
+	wp_check_php_version();
 	wp_cache_flush();
 	make_db_current_silent();
 	upgrade_all();
@@ -1638,6 +1639,47 @@
 }
 
 /**
+ * Check minimum PHP Version
+ *  
+ * Checks if the current version of PHP is below the nag level and adds usermeta to use to display a notice if it is 
+ * 
+ * @since  unknown (at least after 2.8.4)
+ * @see    php_below_min_nag() - the nag message display 
+ * @see    php_below_min_nag_handler() - stops display of the nag message
+ * @see    http://core.trac.wordpress.org/ticket/9751
+ * @param  string $min_version (optional) minimum version string of version to check for 
+ * @param  string $version (optional) version string of the version to check against
+ * @return void
+ */ 
+function wp_check_php_version($min_version = '5.0.0', $version = PHP_VERSION) {
+	/* @var $wpdb wpdb */ 
+	global $wpdb;	
+	if ( version_compare($version, $min_version, '<') ) { 
+		$users = $wpdb->get_results(sprintf('SELECT ID from %s', $wpdb->users));
+		if ( is_null($users) )
+			die('Failed to query (1) database for users in wp_check_php_version()');		 
+		foreach ( (array) $users as $user ) { 
+			$user = new WP_User($user->ID); 
+			if ( $user->has_cap('install_plugins') ) 
+				update_usermeta($user->ID, 'php_below_min_nag', 'true');
+				} 
+	} else {
+		$user  = wp_get_current_user();
+		$value = get_usermeta($user->ID, 'php_below_min_nag');
+		if ('' != $value) {
+			$users = $wpdb->get_results(sprintf('SELECT ID from %s', $wpdb->users));
+			if ( is_null($users) )
+				die('Failed to query (2) database for users in wp_check_php_version()');		 
+			foreach ( (array) $users as $user ) { 
+				$user = new WP_User($user->ID); 
+				if ( $user->has_cap('install_plugins') )
+					delete_usermeta($user->ID, 'php_below_min_nag');
+			}
+		}
+	}
+}
+
+/**
  * {@internal Missing Short Description}}
  *
  * {@internal Missing Long Description}}
Index: wp-admin/includes/user.php
===================================================================
--- wp-admin/includes/user.php	(revision 11874)
+++ wp-admin/includes/user.php	(working copy)
@@ -403,7 +403,57 @@
 	return $wpdb->get_results( $query );
 }
 
+add_action('admin_notices', 'php_below_min_nag');
 /**
+ * Nag-Message to inform about minimum php version requirements
+ * 
+ * If the phpversion is below the min, echo html of a nag until it goes away
+ *
+ * @since    unknown (at least after 2.8.4)
+ * @see      wp_check_php_version() - the function that adds the nag on install 
+ * @see      php_below_min_nag_handler() -  the function that removes display of nag message
+ * @wpfilter admin_notices
+ * @param    string $version (optional) current php version, default is current php version
+ * @param    string $moreurl (optional) link-href for more information
+ * @return   void
+ */
+function php_below_min_nag($version = PHP_VERSION, $moreurl = 'http://codex.wordpress.org/Switching_to_PHP5') {
+	global $user_ID;
+	if ( ! get_usermeta($user_ID, 'php_below_min_nag') )
+		return;
+
+	echo '<div class="error php_below_min_nag"><p>';
+	printf(
+		__('Notice: Your Webserver is currently using PHP version %1$s, which is no longer recieving security updates and will no longer be supported by WordPress in an upcoming version<br /><a href="%2$s">Learn more about this issue</a> | <a href="%3$s" id="php_below_min_nag-no">I understand the issue and want you to stop informing me</a>')
+		, $moreurl
+		, '?php_below_min_nag=0'
+		, $version
+	);
+	echo '</p></div>';
+}
+
+add_action('admin_init', 'php_below_min_nag_handler');
+/**
+ * Handle minimum php version requirements
+ * 
+ * Checks if the current version of PHP is below the nag level and adds usermeta to use to display a notice if it is
+ *
+ * @since    unknown (at least after 2.8.4)
+ * @see      php_below_min_nag() - the nag message displayed 
+ * @see      wp_check_php_version() - the function that adds the nag on install/upgrade
+ * @wpfilter admin_init
+ * @return   void
+ */
+function php_below_min_nag_handler() {
+	global $user_ID;
+	if ( ! get_usermeta($user_ID, 'php_below_min_nag') ) //Short circuit it.
+		return;
+
+	if  (isset($_GET['php_below_min_nag']) && '0' == $_GET['php_below_min_nag'])
+		delete_usermeta($user_ID, 'php_below_min_nag', 'true');
+}
+
+/**
  * Remove user and optionally reassign posts and links to another user.
  *
  * If the $reassign parameter is not assigned to an User ID, then all posts will

