PHP Compatibility Index

Is IP Geo Block compatible with PHP 8?

Version 3.0.17.4 · 8,000+ active installs

Breaks on PHP 8.0

IP Geo Block 3.0.17.4 uses PHP features that were removed in PHP 8.0. Sites running this version on PHP 8.0 or newer can show errors when that code runs.

PHP 8.0
✗ 13
PHP 8.1
✗ 13
PHP 8.2
✗ 13
PHP 8.3
✗ 13
PHP 8.4
✗ 13
PHP 8.5
✗ 13

✓ no problems · ⚠ deprecation notices only (still works) · ✗ uses something removed in that PHP version

Not updated for 7.8 years. Nobody seems to maintain this plugin, so problems found here are unlikely to be fixed. If your site uses it, look for a maintained alternative before upgrading PHP.
Check your whole site, not just one plugin. The free PHP Upgrade Check plugin scans every plugin and theme you have installed (including premium and custom ones) and explains each problem. It runs on any host.

What breaks on PHP 8.0

File:lineWhat
includes/Net/IPv6.php:849Curly brace syntax for accessing array elements and string offsets has been deprecated in PHP 7.4 and removed in PHP 8.0. Found: $ip{$pos}
includes/random_compat/random_bytes_mcrypt.php:60Extension 'mcrypt' is deprecated since PHP 7.1 and removed since PHP 7.2; Use openssl (preferred) or pecl/mcrypt once available instead
includes/random_compat/random_bytes_mcrypt.php:60Function mcrypt_create_iv() is deprecated since PHP 7.1 and removed since PHP 7.2; Use random_bytes() or OpenSSL instead
includes/random_compat/random_bytes_mcrypt.php:60The constant "MCRYPT_DEV_URANDOM" is deprecated since PHP 7.1 and removed since PHP 7.2
wp-content/ip-geo-api/ip2location/IP2Location.php:382Curly brace syntax for accessing array elements and string offsets has been deprecated in PHP 7.4 and removed in PHP 8.0. Found: $f_value{1}
wp-content/ip-geo-api/ip2location/IP2Location.php:385Curly brace syntax for accessing array elements and string offsets has been deprecated in PHP 7.4 and removed in PHP 8.0. Found: $f_value{0}
wp-content/ip-geo-api/ip2location/bcmath.php:70Curly brace syntax for accessing array elements and string offsets has been deprecated in PHP 7.4 and removed in PHP 8.0. Found: $Num1{$i}
wp-content/ip-geo-api/ip2location/bcmath.php:126Curly brace syntax for accessing array elements and string offsets has been deprecated in PHP 7.4 and removed in PHP 8.0. Found: $Num1{$i}
wp-content/ip-geo-api/ip2location/bcmath.php:156Curly brace syntax for accessing array elements and string offsets has been deprecated in PHP 7.4 and removed in PHP 8.0. Found: $Num1{$i}
wp-content/ip-geo-api/ip2location/bcmath.php:157Curly brace syntax for accessing array elements and string offsets has been deprecated in PHP 7.4 and removed in PHP 8.0. Found: $Num2{$i}
wp-content/ip-geo-api/ip2location/bcmath.php:171Curly brace syntax for accessing array elements and string offsets has been deprecated in PHP 7.4 and removed in PHP 8.0. Found: $Num1{$y}
wp-content/ip-geo-api/ip2location/bcmath.php:177Curly brace syntax for accessing array elements and string offsets has been deprecated in PHP 7.4 and removed in PHP 8.0. Found: $Rema[$y]{$x}
wp-content/ip-geo-api/ip2location/bcmath.php:194Curly brace syntax for accessing array elements and string offsets has been deprecated in PHP 7.4 and removed in PHP 8.0. Found: $Rema2{0}

Deprecated (works today, logs notices)

File:lineWhat
admin/class-ip-geo-block-admin.php:858Using ${var} in strings is deprecated since PHP 8.2, use {$var} instead. Found: ${args['option']}
admin/class-ip-geo-block-admin.php:859Using ${var} in strings is deprecated since PHP 8.2, use {$var} instead. Found: ${args['option']}
admin/class-ip-geo-block-admin.php:865Using ${var} in strings is deprecated since PHP 8.2, use {$var} instead. Found: ${args['sub-field']}
admin/class-ip-geo-block-admin.php:866Using ${var} in strings is deprecated since PHP 8.2, use {$var} instead. Found: ${args['sub-field']}
admin/class-ip-geo-block-admin.php:873Using ${var} in strings is deprecated since PHP 8.2, use {$var} instead. Found: ${args['option']}
admin/class-ip-geo-block-admin.php:874Using ${var} in strings is deprecated since PHP 8.2, use {$var} instead. Found: ${args['option']}
admin/class-ip-geo-block-admin.php:922Using ${var} in strings is deprecated since PHP 8.2, use {$var} instead. Found: ${id}
admin/includes/class-admin-ajax.php:477Using ${var} in strings is deprecated since PHP 8.2, use {$var} instead. Found: ${prfx}
classes/class-ip-geo-block-file.php:277INI directive 'auto_detect_line_endings' is deprecated since PHP 8.1
classes/class-ip-geo-block-logs.php:540Using ${var} in strings is deprecated since PHP 8.2, use {$var} instead. Found: ${id}
classes/class-ip-geo-block-logs.php:762Using ${var} in strings is deprecated since PHP 8.2, use {$var} instead. Found: ${id}
classes/class-ip-geo-block-logs.php:764Using ${var} in strings is deprecated since PHP 8.2, use {$var} instead. Found: ${id}
includes/Net/DNS2.php:274Implicitly marking a parameter as nullable is deprecated since PHP 8.4. Update the type to be explicitly nullable instead. Found implicitly nullable parameter: $options.
includes/Net/DNS2/Exception.php:83Implicitly marking a parameter as nullable is deprecated since PHP 8.4. Update the type to be explicitly nullable instead. Found implicitly nullable parameter: $request.
includes/Net/DNS2/Exception.php:84Implicitly marking a parameter as nullable is deprecated since PHP 8.4. Update the type to be explicitly nullable instead. Found implicitly nullable parameter: $response.
includes/Net/DNS2/Header.php:111Implicitly marking a parameter as nullable is deprecated since PHP 8.4. Update the type to be explicitly nullable instead. Found implicitly nullable parameter: $packet.
includes/Net/DNS2/Question.php:115Implicitly marking a parameter as nullable is deprecated since PHP 8.4. Update the type to be explicitly nullable instead. Found implicitly nullable parameter: $packet.
includes/Net/DNS2/RR.php:181Implicitly marking a parameter as nullable is deprecated since PHP 8.4. Update the type to be explicitly nullable instead. Found implicitly nullable parameter: $packet.
includes/Net/DNS2/RR/OPT.php:123Implicitly marking a parameter as nullable is deprecated since PHP 8.4. Update the type to be explicitly nullable instead. Found implicitly nullable parameter: $packet.
includes/Net/DNS2/Resolver.php:73Implicitly marking a parameter as nullable is deprecated since PHP 8.4. Update the type to be explicitly nullable instead. Found implicitly nullable parameter: $options.
includes/Net/IPv6.php:937The integer cast is deprecated since PHP 8.5; Use (int) instead
wp-content/ip-geo-api/ip2location/IP2Location.php:212Function shmop_close() is deprecated since PHP 8.0
wp-content/ip-geo-api/ip2location/IP2Location.php:222Function shmop_close() is deprecated since PHP 8.0

Removed long ago or protected by a check (code that most likely never runs on PHP 8)

File:lineWhat
includes/random_compat/byte_safe_strings.php:33The constant "MB_OVERLOAD_STRING" is removed since PHP 8.0
includes/random_compat/byte_safe_strings.php:87The constant "MB_OVERLOAD_STRING" is removed since PHP 8.0

Plugin page on WordPress.org: ip-geo-block