diff --git a/src/wp-includes/canonical.php b/src/wp-includes/canonical.php
index 4d373e13bd..487e04bb26 100644
--- a/src/wp-includes/canonical.php
+++ b/src/wp-includes/canonical.php
@@ -27,6 +27,7 @@
  * or query in an attempt to figure the correct page to go to.
  *
  * @since 2.3.0
+ * @since 5.5.0 lift error supression from parse_url call
  *
  * @global WP_Rewrite $wp_rewrite WordPress rewrite component.
  * @global bool       $is_IIS
@@ -67,7 +68,7 @@ function redirect_canonical( $requested_url = null, $do_redirect = true ) {
 		$requested_url .= $_SERVER['REQUEST_URI'];
 	}
 
-	$original = @parse_url( $requested_url );
+	$original = parse_url( $requested_url );
 	if ( false === $original ) {
 		return;
 	}
@@ -407,7 +408,7 @@ function redirect_canonical( $requested_url = null, $do_redirect = true ) {
 	$redirect['query'] = preg_replace( '#^\??&*?#', '', $redirect['query'] );
 	if ( $redirect_url && ! empty( $redirect['query'] ) ) {
 		parse_str( $redirect['query'], $_parsed_query );
-		$redirect = @parse_url( $redirect_url );
+		$redirect = parse_url( $redirect_url );
 
 		if ( ! empty( $_parsed_query['name'] ) && ! empty( $redirect['query'] ) ) {
 			parse_str( $redirect['query'], $_parsed_redirect_query );
@@ -425,11 +426,11 @@ function redirect_canonical( $requested_url = null, $do_redirect = true ) {
 	}
 
 	if ( $redirect_url ) {
-		$redirect = @parse_url( $redirect_url );
+		$redirect = parse_url( $redirect_url );
 	}
 
 	// www.example.com vs. example.com
-	$user_home = @parse_url( home_url() );
+	$user_home = parse_url( home_url() );
 	if ( ! empty( $user_home['host'] ) ) {
 		$redirect['host'] = $user_home['host'];
 	}
@@ -629,6 +630,7 @@ function redirect_canonical( $requested_url = null, $do_redirect = true ) {
  * DO NOT use this in plugin code.
  *
  * @since 3.4.0
+ * @since 5.5.0 lift error suppression from parse_url call
  * @access private
  *
  * @param string $query_string
@@ -637,7 +639,7 @@ function redirect_canonical( $requested_url = null, $do_redirect = true ) {
  * @return string The altered query string
  */
 function _remove_qs_args_if_not_in_url( $query_string, array $args_to_check, $url ) {
-	$parsed_url = @parse_url( $url );
+	$parsed_url = parse_url( $url );
 	if ( ! empty( $parsed_url['query'] ) ) {
 		parse_str( $parsed_url['query'], $parsed_query );
 		foreach ( $args_to_check as $qv ) {
@@ -655,12 +657,13 @@ function _remove_qs_args_if_not_in_url( $query_string, array $args_to_check, $ur
  * Strips the #fragment from a URL, if one is present.
  *
  * @since 4.4.0
+ * @since 5.5.0 lift error suppression from parse_url call
  *
  * @param string $url The URL to strip.
  * @return string The altered URL.
  */
 function strip_fragment_from_url( $url ) {
-	$parsed_url = @parse_url( $url );
+	$parsed_url = parse_url( $url );
 	if ( ! empty( $parsed_url['host'] ) ) {
 		// This mirrors code in redirect_canonical(). It does not handle every case.
 		$url = $parsed_url['scheme'] . '://' . $parsed_url['host'];
diff --git a/src/wp-includes/class-http.php b/src/wp-includes/class-http.php
index fd759b7347..ee6a1a8c3a 100644
--- a/src/wp-includes/class-http.php
+++ b/src/wp-includes/class-http.php
@@ -249,6 +249,7 @@ class WP_Http {
 		 * Returning any other value may result in unexpected behaviour.
 		 *
 		 * @since 2.9.0
+		 * @since 5.5.0 lift error suppression from parse_url call
 		 *
 		 * @param false|array|WP_Error $preempt     Whether to preempt an HTTP request's return value. Default false.
 		 * @param array                $parsed_args HTTP request arguments.
@@ -269,7 +270,7 @@ class WP_Http {
 			}
 		}
 
-		$arrURL = @parse_url( $url );
+		$arrURL = parse_url( $url );
 
 		if ( empty( $url ) || empty( $arrURL['scheme'] ) ) {
 			$response = new WP_Error( 'http_request_failed', __( 'A valid URL was not provided.' ) );
diff --git a/src/wp-includes/class-wp-http-cookie.php b/src/wp-includes/class-wp-http-cookie.php
index fb3861383e..538f2b5f64 100644
--- a/src/wp-includes/class-wp-http-cookie.php
+++ b/src/wp-includes/class-wp-http-cookie.php
@@ -76,6 +76,7 @@ class WP_Http_Cookie {
 	 *
 	 * @since 2.8.0
 	 * @since 5.2.0 Added `host_only` to the `$data` parameter.
+	 * @since 5.5.0 lift error suppression from parse_url call
 	 *
 	 * @param string|array $data {
 	 *     Raw cookie data as header string or data array.
@@ -93,7 +94,7 @@ class WP_Http_Cookie {
 	 */
 	public function __construct( $data, $requested_url = '' ) {
 		if ( $requested_url ) {
-			$arrURL = @parse_url( $requested_url );
+			$arrURL = parse_url( $requested_url );
 		}
 		if ( isset( $arrURL['host'] ) ) {
 			$this->domain = $arrURL['host'];
diff --git a/src/wp-includes/class-wp-http-proxy.php b/src/wp-includes/class-wp-http-proxy.php
index 37752c001a..5afa2590d2 100644
--- a/src/wp-includes/class-wp-http-proxy.php
+++ b/src/wp-includes/class-wp-http-proxy.php
@@ -159,6 +159,7 @@ class WP_HTTP_Proxy {
 	 * hosts that won't be sent through the proxy.
 	 *
 	 * @since 2.8.0
+	 * @since 5.5.0 lift error suppression from parse_url call
 	 *
 	 * @staticvar array|null $bypass_hosts
 	 * @staticvar array      $wildcard_regex
@@ -171,7 +172,7 @@ class WP_HTTP_Proxy {
 		 * parse_url() only handles http, https type URLs, and will emit E_WARNING on failure.
 		 * This will be displayed on sites, which is not reasonable.
 		 */
-		$check = @parse_url( $uri );
+		$check = parse_url( $uri );
 
 		// Malformed URL, can not process, but this could mean ssl, so let through anyway.
 		if ( false === $check ) {
diff --git a/src/wp-includes/comment.php b/src/wp-includes/comment.php
index 0da7d13e42..c7e3249522 100644
--- a/src/wp-includes/comment.php
+++ b/src/wp-includes/comment.php
@@ -2803,6 +2803,7 @@ function generic_ping( $post_id = 0 ) {
  *
  * @since 0.71
  * @since 4.7.0 `$post_id` can be a WP_Post object.
+ * @since 5.5.0 lift error suppression from parse_url call
  *
  * @param string $content Post content to check for links. If empty will retrieve from post.
  * @param int|WP_Post $post_id Post Object or ID.
@@ -2846,7 +2847,7 @@ function pingback( $content, $post_id ) {
 		if ( ! in_array( $link_test, $pung, true ) && ( url_to_postid( $link_test ) != $post->ID )
 				// Also, let's never ping local attachments.
 				&& ! is_local_attachment( $link_test ) ) {
-			$test = @parse_url( $link_test );
+			$test = parse_url( $link_test );
 			if ( $test ) {
 				if ( isset( $test['query'] ) ) {
 					$post_links[] = $link_test;
diff --git a/src/wp-includes/feed.php b/src/wp-includes/feed.php
index 49c262d1ed..5ac9100858 100644
--- a/src/wp-includes/feed.php
+++ b/src/wp-includes/feed.php
@@ -618,11 +618,12 @@ function rss2_site_icon() {
  * Returns the link for the currently displayed feed.
  *
  * @since 5.3.0
+ * @since 5.5.0 lift error suppression from parse_url call
  *
  * @return string Correct link for the atom:self element.
  */
 function get_self_link() {
-	$host = @parse_url( home_url() );
+	$host = parse_url( home_url() );
 	return set_url_scheme( 'http://' . $host['host'] . wp_unslash( $_SERVER['REQUEST_URI'] ) );
 }
 
diff --git a/src/wp-includes/functions.php b/src/wp-includes/functions.php
index bc9f276b89..9bdc049271 100644
--- a/src/wp-includes/functions.php
+++ b/src/wp-includes/functions.php
@@ -825,6 +825,7 @@ function wp_extract_urls( $content ) {
  * @since 1.5.0
  * @since 5.3.0 The `$content` parameter was made optional, and the `$post` parameter was
  *              updated to accept a post ID or a WP_Post object.
+ * @since 5.5.0 lift error suppression from parse_url call
  *
  * @global wpdb $wpdb WordPress database abstraction object.
  *
@@ -866,7 +867,7 @@ function do_enclose( $content = null, $post ) {
 	foreach ( (array) $post_links_temp as $link_test ) {
 		// If we haven't pung it already.
 		if ( ! in_array( $link_test, $pung, true ) ) {
-			$test = @parse_url( $link_test );
+			$test = parse_url( $link_test );
 			if ( false === $test ) {
 				continue;
 			}
@@ -901,7 +902,7 @@ function do_enclose( $content = null, $post ) {
 				$allowed_types = array( 'video', 'audio' );
 
 				// Check to see if we can figure out the mime type from the extension.
-				$url_parts = @parse_url( $url );
+				$url_parts = parse_url( $url );
 				if ( false !== $url_parts ) {
 					$extension = pathinfo( $url_parts['path'], PATHINFO_EXTENSION );
 					if ( ! empty( $extension ) ) {
@@ -1233,6 +1234,7 @@ function add_magic_quotes( $array ) {
  * HTTP request for URI to retrieve content.
  *
  * @since 1.5.1
+ * @since 5.5.0 lift error suppression from parse_url call
  *
  * @see wp_safe_remote_get()
  *
@@ -1240,7 +1242,7 @@ function add_magic_quotes( $array ) {
  * @return string|false HTTP content. False on failure.
  */
 function wp_remote_fopen( $uri ) {
-	$parsed_url = @parse_url( $uri );
+	$parsed_url = parse_url( $uri );
 
 	if ( ! $parsed_url || ! is_array( $parsed_url ) ) {
 		return false;
diff --git a/src/wp-includes/http.php b/src/wp-includes/http.php
index 792482cd9f..0c5d64baf9 100644
--- a/src/wp-includes/http.php
+++ b/src/wp-includes/http.php
@@ -511,6 +511,7 @@ function send_origin_headers() {
  * Validate a URL for safe use in the HTTP API.
  *
  * @since 3.5.2
+ * @since 5.5.0 lift error suppression from parse_url call
  *
  * @param string $url Request URL.
  * @return string|false URL or false on failure.
@@ -522,7 +523,7 @@ function wp_http_validate_url( $url ) {
 		return false;
 	}
 
-	$parsed_url = @parse_url( $url );
+	$parsed_url = parse_url( $url );
 	if ( ! $parsed_url || empty( $parsed_url['host'] ) ) {
 		return false;
 	}
@@ -535,7 +536,7 @@ function wp_http_validate_url( $url ) {
 		return false;
 	}
 
-	$parsed_home = @parse_url( get_option( 'home' ) );
+	$parsed_home = parse_url( get_option( 'home' ) );
 
 	if ( isset( $parsed_home['host'] ) ) {
 		$same_host = strtolower( $parsed_home['host'] ) === strtolower( $parsed_url['host'] );
@@ -659,6 +660,7 @@ function ms_allowed_http_request_hosts( $is_external, $host ) {
  *
  * @since 4.4.0
  * @since 4.7.0 The `$component` parameter was added for parity with PHP's `parse_url()`.
+ * @since 5.5.0 lift error suppression from parse_url call
  *
  * @link https://www.php.net/manual/en/function.parse-url.php
  *
@@ -684,7 +686,7 @@ function wp_parse_url( $url, $component = -1 ) {
 		$url        = 'placeholder://placeholder' . $url;
 	}
 
-	$parts = @parse_url( $url );
+	$parts = parse_url( $url );
 
 	if ( false === $parts ) {
 		// Parsing failure.
diff --git a/src/wp-includes/pluggable.php b/src/wp-includes/pluggable.php
index c5899c6c36..ebf0480185 100644
--- a/src/wp-includes/pluggable.php
+++ b/src/wp-includes/pluggable.php
@@ -1406,6 +1406,7 @@ if ( ! function_exists( 'wp_validate_redirect' ) ) :
 	 * If the host is not allowed, then the redirect is to $default supplied
 	 *
 	 * @since 2.8.1
+	 * @since 5.5.0 lift error suppression from parse_url call
 	 *
 	 * @param string $location The redirect to validate
 	 * @param string $default  The value to return if $location is not allowed
@@ -1424,7 +1425,7 @@ if ( ! function_exists( 'wp_validate_redirect' ) ) :
 		$test = $cut ? substr( $location, 0, $cut ) : $location;
 
 		// @-operator is used to prevent possible warnings in PHP < 5.3.3.
-		$lp = @parse_url( $test );
+		$lp = parse_url( $test );
 
 		// Give up if malformed URL.
 		if ( false === $lp ) {
