General: Remove or add inline comments to `$HTTP_RAW_POST_DATA` occurrences.

The `$HTTP_RAW_POST_DATA` global was deprecated in PHP 5.6 and removed completely in PHP 7.0. In general, `php://input` should be used instead of `$HTTP_RAW_POST_DATA`.

Because WordPress Core still supports PHP 5.6, some plugins or sites may still rely on this variable being present and populated with the expected data. For that reason, occurrences of the variable will remain with updated inline documentation until support for PHP 5.6 is officially dropped in WordPress.

Props skoskie, jrf, desrosj, TimothyBlynJacobs.
See #49922.
Fixes #49810.
Built from https://develop.svn.wordpress.org/trunk@47926


git-svn-id: http://core.svn.wordpress.org/trunk@47700 1a063a9b-81f0-0310-95a4-ce76da25c4cd
This commit is contained in:
desrosj 2020-06-08 19:55:10 +00:00
parent 9e9be350e2
commit c591d94cc5
4 changed files with 8 additions and 14 deletions

View File

@ -47,13 +47,7 @@ class IXR_Server
die('XML-RPC server accepts POST requests only.'); die('XML-RPC server accepts POST requests only.');
} }
global $HTTP_RAW_POST_DATA; $data = file_get_contents('php://input');
if (empty($HTTP_RAW_POST_DATA)) {
// workaround for a bug in PHP 5.2.2 - http://bugs.php.net/bug.php?id=41293
$data = file_get_contents('php://input');
} else {
$data =& $HTTP_RAW_POST_DATA;
}
} }
$this->message = new IXR_Message($data); $this->message = new IXR_Message($data);
if (!$this->message->parse()) { if (!$this->message->parse()) {

View File

@ -1371,17 +1371,16 @@ class WP_REST_Server {
* @return string Raw request data. * @return string Raw request data.
*/ */
public static function get_raw_data() { public static function get_raw_data() {
// phpcs:disable PHPCompatibility.Variables.RemovedPredefinedGlobalVariables.http_raw_post_dataDeprecatedRemoved
global $HTTP_RAW_POST_DATA; global $HTTP_RAW_POST_DATA;
/* // $HTTP_RAW_POST_DATA was deprecated in PHP 5.6 and removed in PHP 7.0.
* A bug in PHP < 5.2.2 makes $HTTP_RAW_POST_DATA not set by default,
* but we can do it ourself.
*/
if ( ! isset( $HTTP_RAW_POST_DATA ) ) { if ( ! isset( $HTTP_RAW_POST_DATA ) ) {
$HTTP_RAW_POST_DATA = file_get_contents( 'php://input' ); $HTTP_RAW_POST_DATA = file_get_contents( 'php://input' );
} }
return $HTTP_RAW_POST_DATA; return $HTTP_RAW_POST_DATA;
// phpcs:enable
} }
/** /**

View File

@ -13,7 +13,7 @@
* *
* @global string $wp_version * @global string $wp_version
*/ */
$wp_version = '5.5-alpha-47925'; $wp_version = '5.5-alpha-47926';
/** /**
* Holds the WordPress DB revision, increments when changes are made to the WordPress DB schema. * Holds the WordPress DB revision, increments when changes are made to the WordPress DB schema.

View File

@ -15,8 +15,8 @@ define( 'XMLRPC_REQUEST', true );
// Some browser-embedded clients send cookies. We don't want them. // Some browser-embedded clients send cookies. We don't want them.
$_COOKIE = array(); $_COOKIE = array();
// A bug in PHP < 5.2.2 makes $HTTP_RAW_POST_DATA not set by default, // $HTTP_RAW_POST_DATA was deprecated in PHP 5.6 and removed in PHP 7.0.
// but we can do it ourself. // phpcs:disable PHPCompatibility.Variables.RemovedPredefinedGlobalVariables.http_raw_post_dataDeprecatedRemoved
if ( ! isset( $HTTP_RAW_POST_DATA ) ) { if ( ! isset( $HTTP_RAW_POST_DATA ) ) {
$HTTP_RAW_POST_DATA = file_get_contents( 'php://input' ); $HTTP_RAW_POST_DATA = file_get_contents( 'php://input' );
} }
@ -25,6 +25,7 @@ if ( ! isset( $HTTP_RAW_POST_DATA ) ) {
if ( isset( $HTTP_RAW_POST_DATA ) ) { if ( isset( $HTTP_RAW_POST_DATA ) ) {
$HTTP_RAW_POST_DATA = trim( $HTTP_RAW_POST_DATA ); $HTTP_RAW_POST_DATA = trim( $HTTP_RAW_POST_DATA );
} }
// phpcs:enable
/** Include the bootstrap for setting up WordPress environment */ /** Include the bootstrap for setting up WordPress environment */
require_once __DIR__ . '/wp-load.php'; require_once __DIR__ . '/wp-load.php';