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
✗ 13PHP 8.1
✗ 13PHP 8.2
✗ 13PHP 8.3
✗ 13PHP 8.4
✗ 13PHP 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:line | What |
|---|---|
includes/Net/IPv6.php:849 | Curly 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:60 | Extension '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:60 | Function 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:60 | The constant "MCRYPT_DEV_URANDOM" is deprecated since PHP 7.1 and removed since PHP 7.2 |
wp-content/ip-geo-api/ip2location/IP2Location.php:382 | Curly 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:385 | Curly 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:70 | Curly 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:126 | Curly 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:156 | Curly 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:157 | Curly 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:171 | Curly 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:177 | Curly 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:194 | Curly 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:line | What |
|---|---|
admin/class-ip-geo-block-admin.php:858 | Using ${var} in strings is deprecated since PHP 8.2, use {$var} instead. Found: ${args['option']} |
admin/class-ip-geo-block-admin.php:859 | Using ${var} in strings is deprecated since PHP 8.2, use {$var} instead. Found: ${args['option']} |
admin/class-ip-geo-block-admin.php:865 | Using ${var} in strings is deprecated since PHP 8.2, use {$var} instead. Found: ${args['sub-field']} |
admin/class-ip-geo-block-admin.php:866 | Using ${var} in strings is deprecated since PHP 8.2, use {$var} instead. Found: ${args['sub-field']} |
admin/class-ip-geo-block-admin.php:873 | Using ${var} in strings is deprecated since PHP 8.2, use {$var} instead. Found: ${args['option']} |
admin/class-ip-geo-block-admin.php:874 | Using ${var} in strings is deprecated since PHP 8.2, use {$var} instead. Found: ${args['option']} |
admin/class-ip-geo-block-admin.php:922 | Using ${var} in strings is deprecated since PHP 8.2, use {$var} instead. Found: ${id} |
admin/includes/class-admin-ajax.php:477 | Using ${var} in strings is deprecated since PHP 8.2, use {$var} instead. Found: ${prfx} |
classes/class-ip-geo-block-file.php:277 | INI directive 'auto_detect_line_endings' is deprecated since PHP 8.1 |
classes/class-ip-geo-block-logs.php:540 | Using ${var} in strings is deprecated since PHP 8.2, use {$var} instead. Found: ${id} |
classes/class-ip-geo-block-logs.php:762 | Using ${var} in strings is deprecated since PHP 8.2, use {$var} instead. Found: ${id} |
classes/class-ip-geo-block-logs.php:764 | Using ${var} in strings is deprecated since PHP 8.2, use {$var} instead. Found: ${id} |
includes/Net/DNS2.php:274 | Implicitly 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:83 | Implicitly 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:84 | Implicitly 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:111 | Implicitly 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:115 | Implicitly 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:181 | Implicitly 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:123 | Implicitly 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:73 | Implicitly 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:937 | The integer cast is deprecated since PHP 8.5; Use (int) instead |
wp-content/ip-geo-api/ip2location/IP2Location.php:212 | Function shmop_close() is deprecated since PHP 8.0 |
wp-content/ip-geo-api/ip2location/IP2Location.php:222 | Function 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:line | What |
|---|---|
includes/random_compat/byte_safe_strings.php:33 | The constant "MB_OVERLOAD_STRING" is removed since PHP 8.0 |
includes/random_compat/byte_safe_strings.php:87 | The constant "MB_OVERLOAD_STRING" is removed since PHP 8.0 |
Plugin page on WordPress.org: ip-geo-block