diff --git a/core/modules/filter/filter.api.php b/core/modules/filter/filter.api.php
index 6675e4a..d186db6 100644
--- a/core/modules/filter/filter.api.php
+++ b/core/modules/filter/filter.api.php
@@ -107,9 +107,9 @@ function hook_filter_info() {
  *   implementations.
  */
 function hook_filter_info_alter(&$info) {
-  // Replace the PHP evaluator process callback with an improved
-  // PHP evaluator provided by a module.
-  $info['php_code']['process callback'] = 'my_module_php_evaluator';
+  // Replace the line break filter's process callback with an improved version
+  // provided by a module.
+  $info['filter_autop']['process callback'] = 'my_module_filter_autop';
 
   // Alter the default settings of the URL filter provided by core.
   $info['filter_url']['default settings'] = array(
diff --git a/core/modules/php/php.info b/core/modules/php/php.info
index 669a138..6b9278a 100644
--- a/core/modules/php/php.info
+++ b/core/modules/php/php.info
@@ -1,6 +1,5 @@
-name = PHP filter
-description = Allows embedded PHP code/snippets to be evaluated.
+name = PHP
+description = Allows permitted users to use custom PHP code in settings.
 package = Core
 version = VERSION
 core = 8.x
-files[] = php.test
diff --git a/core/modules/php/php.install b/core/modules/php/php.install
deleted file mode 100644
index 12944dd..0000000
--- a/core/modules/php/php.install
+++ /dev/null
@@ -1,45 +0,0 @@
-<?php
-
-/**
- * @file
- * Install, update and uninstall functions for the php module.
- */
-
-/**
- * Implements hook_enable().
- */
-function php_enable() {
-  $format_exists = (bool) db_query_range('SELECT 1 FROM {filter_format} WHERE name = :name', 0, 1, array(':name' => 'PHP code'))->fetchField();
-  // Add a PHP code text format, if it does not exist. Do this only for the
-  // first install (or if the format has been manually deleted) as there is no
-  // reliable method to identify the format in an uninstall hook or in
-  // subsequent clean installs.
-  if (!$format_exists) {
-    $php_format = array(
-      'format' => 'php_code',
-      'name' => 'PHP code',
-      // 'Plain text' format is installed with a weight of 10 by default. Use a
-      // higher weight here to ensure that this format will not be the default
-      // format for anyone.
-      'weight' => 11,
-      'filters' => array(
-        // Enable the PHP evaluator filter.
-        'php_code' => array(
-          'weight' => 0,
-          'status' => 1,
-        ),
-      ),
-    );
-    $php_format = (object) $php_format;
-    filter_format_save($php_format);
-
-    drupal_set_message(t('A <a href="@php-code">PHP code</a> text format has been created.', array('@php-code' => url('admin/config/content/formats/' . $php_format->format))));
-  }
-}
-
-/**
- * Implements hook_disable().
- */
-function php_disable() {
-  drupal_set_message(t('The PHP module has been disabled. Any existing content that was using the PHP filter will now be visible in plain text. This might pose a security risk by exposing sensitive information, if any, used in the PHP code.'));
-}
diff --git a/core/modules/php/php.module b/core/modules/php/php.module
index 37bf9a1..fc95b27 100644
--- a/core/modules/php/php.module
+++ b/core/modules/php/php.module
@@ -2,7 +2,7 @@
 
 /**
  * @file
- * Additional filter for PHP input.
+ * Allows permitted users to use custom PHP code in settings.
  */
 
 /**
@@ -13,11 +13,12 @@ function php_help($path, $arg) {
     case 'admin/help#php':
       $output = '';
       $output .= '<h3>' . t('About') . '</h3>';
-      $output .= '<p>' . t('The PHP filter module adds a PHP filter to your site, for use with <a href="@filter">text formats</a>. This filter adds the ability to execute PHP code in any text field that uses a text format (such as the body of a content item or the text of a comment). <a href="@php-net">PHP</a> is a general-purpose scripting language widely-used for web development, and is the language with which Drupal has been developed. For more information, see the online handbook entry for the <a href="@php">PHP filter module</a>.', array('@filter' => url('admin/help/filter'), '@php-net' => 'http://www.php.net', '@php' => 'http://drupal.org/handbook/modules/php/')) . '</p>';
+      $output .= '<p>' . t('The PHP module allows PHP code to be used in certain configuration settings to limit actions or content to custom conditions. <a href="@php-net">PHP</a> is a general-purpose scripting language widely-used for web development, and is the language with which Drupal has been developed. For more information, see the online handbook entry for the <a href="@php">PHP module</a>.', array('@php-net' => 'http://www.php.net', '@php' => 'http://drupal.org/handbook/modules/php/')) . '</p>';
       $output .= '<h3>' . t('Uses') . '</h3>';
       $output .= '<dl>';
       $output .= '<dt>' . t('Enabling execution of PHP in text fields') . '</dt>';
-      $output .= '<dd>' . t('The PHP filter module allows users with the proper permissions to include custom PHP code that will get executed when pages of your site are processed. While this is a powerful and flexible feature if used by a trusted user with PHP experience, it is a significant and dangerous security risk in the hands of a malicious or inexperienced user. Even a trusted user may accidentally compromise the site by entering malformed or incorrect PHP code. Only the most trusted users should be granted permission to use the PHP filter, and all PHP code added through the PHP filter should be carefully examined before use. <a href="@php-snippets">Example PHP snippets</a> can be found on Drupal.org.', array('@php-snippets' => url('http://drupal.org/handbook/customization/php-snippets'))) . '</dd>';
+      $output .= '<dd>' . t('The PHP module allows users with the proper permissions to use the administrative interface to enter custom PHP code that will get executed when pages of your site are processed. For example, if this module is used with the core Block module, custom PHP code can be added to determine the pages on which a particular block will be visible.') . '</dd>';
+      $output .= '<dd>' . t('While this is a powerful and flexible feature if used by a trusted user with PHP experience, it is a significant and dangerous security risk in the hands of a malicious or inexperienced user. Even a trusted user may accidentally compromise the site by entering malformed or incorrect PHP code. Only the most trusted users should be granted permission to use PHP, and all PHP code should be carefully examined before use. <a href="@php-snippets">Example PHP snippets</a> can be found on Drupal.org.', array('@php-snippets' => url('http://drupal.org/handbook/customization/php-snippets'))) . '</dd>';
       $output .= '</dl>';
       return $output;
   }
@@ -81,60 +82,3 @@ function php_eval($code) {
   return $output;
 }
 
-/**
- * Tips callback for php filter.
- */
-function _php_filter_tips($filter, $format, $long = FALSE) {
-  global $base_url;
-  if ($long) {
-    $output = '<h4>' . t('Using custom PHP code') . '</h4>';
-    $output .= '<p>' . t('Custom PHP code may be embedded in some types of site content, including posts and blocks. While embedding PHP code inside a post or block is a powerful and flexible feature when used by a trusted user with PHP experience, it is a significant and dangerous security risk when used improperly. Even a small mistake when posting PHP code may accidentally compromise your site.') . '</p>';
-    $output .= '<p>' . t('If you are unfamiliar with PHP, SQL, or Drupal, avoid using custom PHP code within posts. Experimenting with PHP may corrupt your database, render your site inoperable, or significantly compromise security.') . '</p>';
-    $output .= '<p>' . t('Notes:') . '</p>';
-    $output .= '<ul><li>' . t('Remember to double-check each line for syntax and logic errors <strong>before</strong> saving.') . '</li>';
-    $output .= '<li>' . t('Statements must be correctly terminated with semicolons.') . '</li>';
-    $output .= '<li>' . t('Global variables used within your PHP code retain their values after your script executes.') . '</li>';
-    $output .= '<li>' . t('<code>register_globals</code> is <strong>turned off</strong>. If you need to use forms, understand and use the functions in <a href="@formapi">the Drupal Form API</a>.', array('@formapi' => url('http://api.drupal.org/api/group/form_api/7'))) . '</li>';
-    $output .= '<li>' . t('Use a <code>print</code> or <code>return</code> statement in your code to output content.') . '</li>';
-    $output .= '<li>' . t('Develop and test your PHP code using a separate test script and sample database before deploying on a production site.') . '</li>';
-    $output .= '<li>' . t('Consider including your custom PHP code within a site-specific module or <code>template.php</code> file rather than embedding it directly into a post or block.') . '</li>';
-    $output .= '<li>' . t('Be aware that the ability to embed PHP code within content is provided by the PHP Filter module. If this module is disabled or deleted, then blocks and posts with embedded PHP may display, rather than execute, the PHP code.') . '</li></ul>';
-    $output .= '<p>' . t('A basic example: <em>Creating a "Welcome" block that greets visitors with a simple message.</em>') . '</p>';
-    $output .= '<ul><li>' . t('<p>Add a custom block to your site, named "Welcome" . With its text format set to "PHP code" (or another format supporting PHP input), add the following in the Block body:</p>
-<pre>
-print t(\'Welcome visitor! Thank you for visiting.\');
-</pre>') . '</li>';
-    $output .= '<li>' . t('<p>To display the name of a registered user, use this instead:</p>
-<pre>
-global $user;
-if ($user->uid) {
-  print t(\'Welcome @name! Thank you for visiting.\', array(\'@name\' => format_username($user)));
-}
-else {
-  print t(\'Welcome visitor! Thank you for visiting.\');
-}
-</pre>') . '</li></ul>';
-    $output .= '<p>' . t('<a href="@drupal">Drupal.org</a> offers <a href="@php-snippets">some example PHP snippets</a>, or you can create your own with some PHP experience and knowledge of the Drupal system.', array('@drupal' => url('http://drupal.org'), '@php-snippets' => url('http://drupal.org/handbook/customization/php-snippets'))) . '</p>';
-    return $output;
-  }
-  else {
-    return t('You may post PHP code. You should include &lt;?php ?&gt; tags.');
-  }
-}
-
-/**
- * Implements hook_filter_info().
- *
- * Provide PHP code filter. Use with care.
- */
-function php_filter_info() {
-  $filters['php_code'] = array(
-    'title' => t('PHP evaluator'),
-    'description' => t('Executes a piece of PHP code. The usage of this filter should be restricted to administrators only!'),
-    'process callback' => 'php_eval',
-    'tips callback' => '_php_filter_tips',
-    'cache' => FALSE,
-  );
-  return $filters;
-}
-
diff --git a/core/modules/php/php.test b/core/modules/php/php.test
deleted file mode 100644
index 8ead2ac..0000000
--- a/core/modules/php/php.test
+++ /dev/null
@@ -1,120 +0,0 @@
-<?php
-
-/**
- * @file
- * Tests for php.module.
- */
-
-/**
- * Base PHP test case class.
- */
-class PHPTestCase extends DrupalWebTestCase {
-  protected $php_code_format;
-
-  function setUp() {
-    parent::setUp('php');
-
-    // Create and login admin user.
-    $admin_user = $this->drupalCreateUser(array('administer filters'));
-    $this->drupalLogin($admin_user);
-
-    // Verify that the PHP code text format was inserted.
-    $php_format_id = 'php_code';
-    $this->php_code_format = filter_format_load($php_format_id);
-    $this->assertEqual($this->php_code_format->name, 'PHP code', t('PHP code text format was created.'));
-
-    // Verify that the format has the PHP code filter enabled.
-    $filters = filter_list_format($php_format_id);
-    $this->assertTrue($filters['php_code']->status, t('PHP code filter is enabled.'));
-
-    // Verify that the format exists on the administration page.
-    $this->drupalGet('admin/config/content/formats');
-    $this->assertText('PHP code', t('PHP code text format was created.'));
-
-    // Verify that anonymous and authenticated user roles do not have access.
-    $this->drupalGet('admin/config/content/formats/' . $php_format_id);
-    $this->assertFieldByName('roles[1]', FALSE, t('Anonymous users do not have access to PHP code format.'));
-    $this->assertFieldByName('roles[2]', FALSE, t('Authenticated users do not have access to PHP code format.'));
-  }
-
-  /**
-   * Create a test node with PHP code in the body.
-   *
-   * @return stdObject Node object.
-   */
-  function createNodeWithCode() {
-    return $this->drupalCreateNode(array('body' => array(LANGUAGE_NONE => array(array('value' => '<?php print "SimpleTest PHP was executed!"; ?>')))));
-  }
-}
-
-/**
- * Tests to make sure the PHP filter actually evaluates PHP code when used.
- */
-class PHPFilterTestCase extends PHPTestCase {
-  public static function getInfo() {
-    return array(
-      'name' => 'PHP filter functionality',
-      'description' => 'Make sure that PHP filter properly evaluates PHP code when enabled.',
-      'group' => 'PHP',
-    );
-  }
-
-  /**
-   * Make sure that the PHP filter evaluates PHP code when used.
-   */
-  function testPHPFilter() {
-    // Log in as a user with permission to use the PHP code text format.
-    $php_code_permission = filter_permission_name(filter_format_load('php_code'));
-    $web_user = $this->drupalCreateUser(array('access content', 'create page content', 'edit own page content', $php_code_permission));
-    $this->drupalLogin($web_user);
-
-    // Create a node with PHP code in it.
-    $node = $this->createNodeWithCode();
-
-    // Make sure that the PHP code shows up as text.
-    $this->drupalGet('node/' . $node->nid);
-    $this->assertText('print "SimpleTest PHP was executed!"', t('PHP code is displayed.'));
-
-    // Change filter to PHP filter and see that PHP code is evaluated.
-    $edit = array();
-    $langcode = LANGUAGE_NONE;
-    $edit["body[$langcode][0][format]"] = $this->php_code_format->format;
-    $this->drupalPost('node/' . $node->nid . '/edit', $edit, t('Save'));
-    $this->assertRaw(t('Basic page %title has been updated.', array('%title' => $node->title)), t('PHP code filter turned on.'));
-
-    // Make sure that the PHP code shows up as text.
-    $this->assertNoText('print "SimpleTest PHP was executed!"', t("PHP code isn't displayed."));
-    $this->assertText('SimpleTest PHP was executed!', t('PHP code has been evaluated.'));
-  }
-}
-
-/**
- * Tests to make sure access to the PHP filter is properly restricted.
- */
-class PHPAccessTestCase extends PHPTestCase {
-  public static function getInfo() {
-    return array(
-      'name' => 'PHP filter access check',
-      'description' => 'Make sure that users who don\'t have access to the PHP filter can\'t see it.',
-      'group' => 'PHP',
-    );
-  }
-
-  /**
-   * Make sure that user can't use the PHP filter when not given access.
-   */
-  function testNoPrivileges() {
-    // Create node with PHP filter enabled.
-    $web_user = $this->drupalCreateUser(array('access content', 'create page content', 'edit own page content'));
-    $this->drupalLogin($web_user);
-    $node = $this->createNodeWithCode();
-
-    // Make sure that the PHP code shows up as text.
-    $this->drupalGet('node/' . $node->nid);
-    $this->assertText('print', t('PHP code was not evaluated.'));
-
-    // Make sure that user doesn't have access to filter.
-    $this->drupalGet('node/' . $node->nid . '/edit');
-    $this->assertNoRaw('<option value="' . $this->php_code_format->format . '">', t('PHP code format not available.'));
-  }
-}
diff --git a/core/modules/simpletest/tests/common.test b/core/modules/simpletest/tests/common.test
index a5ab249..d988661 100644
--- a/core/modules/simpletest/tests/common.test
+++ b/core/modules/simpletest/tests/common.test
@@ -694,24 +694,11 @@ class CascadingStylesheetsTestCase extends DrupalWebTestCase {
     // drupal_add_css() option.
     $expected = 'body{font-size:254px;}';
 
-    // Create a node, using the PHP filter that tests drupal_add_css().
-    $php_format_id = 'php_code';
-    $settings = array(
-      'type' => 'page',
-      'body' => array(
-        LANGUAGE_NONE => array(
-          array(
-            'value' => t('This tests the inline CSS!') . "<?php drupal_add_css('$css', 'inline'); ?>",
-            'format' => $php_format_id,
-          ),
-        ),
-      ),
-      'promote' => 1,
-    );
-    $node = $this->drupalCreateNode($settings);
+    // Set a variable so that common_test_init() will add the inline CSS.
+    variable_set('common_test_inline_css', $css);
 
-    // Fetch the page.
-    $this->drupalGet('node/' . $node->nid);
+    // Fetch the front page and look for the expected inline CSS.
+    $this->drupalGet('');
     $this->assertRaw($expected, t('Inline stylesheets appear in the full page rendering.'));
   }
 
diff --git a/core/modules/simpletest/tests/common_test.module b/core/modules/simpletest/tests/common_test.module
index 08fb8e8..828dd9e 100644
--- a/core/modules/simpletest/tests/common_test.module
+++ b/core/modules/simpletest/tests/common_test.module
@@ -188,6 +188,16 @@ function bartik_drupal_alter_alter(&$data, &$arg2 = NULL, &$arg3 = NULL) {
 }
 
 /**
+ * Implements hook_init().
+ */
+function common_test_init() {
+  // Add inline CSS requested by testRenderInlineFullPage().
+  if ($css = variable_get('common_test_inline_css')) {
+    drupal_add_css($css, 'inline');
+  }
+}
+
+/**
  * Implements hook_theme().
  */
 function common_test_theme() {
diff --git a/core/modules/system/system.test b/core/modules/system/system.test
index 4e3761d..383661b 100644
--- a/core/modules/system/system.test
+++ b/core/modules/system/system.test
@@ -493,7 +493,7 @@ class ModuleDependencyTestCase extends ModuleTestCase {
     $edit['modules[Core][forum][enable]'] = 'forum';
     $this->drupalPost('admin/modules', $edit, t('Save configuration'));
     $this->assertModules(array('forum'), FALSE);
-    $this->assertText(t('You must enable the Poll, PHP filter modules to install Forum.'), t('Dependency chain created.'));
+    $this->assertText(t('You must enable the Poll, PHP modules to install Forum.'), t('Dependency chain created.'));
     $edit['modules[Core][poll][enable]'] = 'poll';
     $edit['modules[Core][php][enable]'] = 'php';
     $this->drupalPost('admin/modules', $edit, t('Save configuration'));
