Skip to content

Conversation

francescobianco
Copy link
Member


Description:

This issue is to officially track and implement support for PHP 8.4 across the php-imap2 library.

With PHP 8.4 introducing several changes (deprecations, strictness improvements, internal API adjustments), it's crucial to make sure php-imap2 stays compatible and stable moving forward.


Checklist:

  • Review all core files for potential incompatibilities
  • Update deprecated PHP functions or syntax
  • Validate compatibility with new PHP 8.4 INI defaults and behavior
  • Test under PHP 8.4 using the full test suite (if available)
  • Add PHP 8.4 to CI matrix (GitHub Actions / Travis / etc.)
  • Update composer.json to allow php: ^8.4
  • Tag a new release (v2.x.x or v3.0.0 depending on BC impact)

Context:

  • PHP 8.4 RFCs Overview
  • Focus on:
    • Potential changes to imap_* functions under PHP 8.4
    • Stricter type handling in class constructors and method parameters
    • New warnings or deprecations that could affect this library

Note:

If you’re already running PHP 8.4 and encounter any issues, please comment below with:

  • PHP version output (php -v)
  • Failing method / class
  • Relevant error message or stack trace

Let’s keep this library future-proof and blazing fast! πŸš€πŸ˜πŸ’™

@SinergiaCRM
Copy link

Hi @francescobianco!

We have detected an error in the use of the library by SinergiaCRM in the closeSocket() function in the vendor/javanile/php-imap2/src/Roundcube/ImapClient.php file after updating the php version to 8.4

In case it's helpful, we've resolved it for now by checking that the property the function receives is not null using the following code:

if ($this->fp != null) {
@fclose($this->fp);
$this->fp = null;
}

Thanks!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants