WordPress.org

Make WordPress Core

Opened 5 years ago

Closed 3 years ago

Last modified 3 years ago

#10460 closed defect (bug) (duplicate)

PemFTP and phpmailer use ereg which is deprecated in PHP 5.3

Reported by: lloydbudd Owned by:
Milestone: Priority: high
Severity: major Version: 2.9
Component: Warnings/Notices Keywords:
Focuses: Cc:

Description

ereg is deprecated in PHP 5.3 . Need to be replaced with preg family of functions.

$ ack ereg -l
wp-admin/includes/class-ftp-pure.php
wp-admin/includes/class-ftp-sockets.php
wp-admin/includes/class-ftp.php
wp-admin/includes/class-pclzip.php
wp-includes/class-phpmailer.php
wp-includes/class-pop3.php
wp-includes/functions.wp-scripts.php
wp-includes/functions.wp-styles.php
wp-includes/gettext.php
wp-includes/rewrite.php

Change History (12)

comment:1 lloydbudd5 years ago

  • Severity changed from normal to minor

comment:2 dd325 years ago

Its a shame 60% of those are external libraries.. looks like some upstream patching is needed.

comment:3 Speedboxer5 years ago

As well, split will need to be replaced with preg_split.

comment:4 Denis-de-Bernardy5 years ago

  • Keywords needs-patch added; removed
  • Milestone changed from Future Release to 2.9
  • Priority changed from low to high
  • Severity changed from minor to major

comment:5 eddieringle5 years ago

  • Cc eddie@… added
  • Keywords changed from needs-patch php 5.3, deprecated to needs-patch php 5.3 deprecated

I ran ack-grep myself and found that the WordPress files in the list above do not contain any ereg functions, but phrases that contain the pattern 'ereg' (e.g. $pageregex, wp_deregister_style( $handle )).
The external libraries (class-*.php) do however contain ereg functions.
Has this been fixed, and that is why I am not seeing any ereg functions?

comment:6 eddieringle5 years ago

  • Keywords changed from needs-patch php 5.3 deprecated to needs-patch php 5.3, deprecated

comment:7 eddieringle5 years ago

  • Keywords changed from needs-patch php 5.3, deprecated to needs-patch, php 5.3, deprecated

comment:8 ryan4 years ago

  • Milestone changed from 2.9 to Future Release

class-pclzip.php uses ereg only if requested and mentions in a comment that it is deprecated.

That leaves the PemFTP files and phpmailer. PemFTP is used by class-wp-filesystem-ftpsockets.php. ftpsockets is used only other fs backends are unavailable. Fixing or replacing PemFTP is not priority.

New versions of phpmailer eliminate the eregi, but those versions require PHP5+. We can look into backporting ereg removal for a future WP release.

comment:9 westi4 years ago

  • Summary changed from ereg is deprecated in PHP 5.3 to PemFTP and phpmailer use ereg which is deprecated in PHP 5.3

Updating summary to make it easier to quickly identify what the issue is.

comment:10 hakre4 years ago

I can take care of phpmailer. I know the class since years and since the main project doesn't upgrade it any longer, we can freely apply changes w/o upstreaming.

comment:11 solarissmoke3 years ago

  • Keywords needs-patch php 5.3 deprecated removed
  • Resolution set to duplicate
  • Status changed from new to closed

#16026 is tagged for 3.2

comment:12 nacin3 years ago

  • Milestone Future Release deleted
Note: See TracTickets for help on using tickets.