General ⇒ DVCS Info (Mercurial/CVS) ⇒ could not implement interface Iterator ⇒ Community Forums ⇒ CPG Dragonfly™ CMS
Forum IndexDVCS Info (Mercurial/CVS)

could not implement interface Iterator Reply to topic


As reported by Nano there's a flaw in PHP 5.* which makes MySQLi crash in PHP 5.4
bugs.php.net/bug.php?id=61808

When an interface extends Iterator but the PHP class built in C gets improved using Traversable there's a conflict which reports the mentioned error.

Nano tried to solve this by changing
interface Poodle_SQL_Interface_Result extends ArrayAccess, Countable, Iteratorinto
interface Poodle_SQL_Interface_Result extends ArrayAccess, Countable
However, this makes any pre-PHP 5.4 install not using the Iterator interface and therefore fails.

I've tried a cleaner solution by moving the fix more close to MySQLi itself.
/includes/poodle/sql/adapter/mysqli.php?d=10.9-10.8

Can someone using PHP 5.4 test if this solution still works?

Server specs (Server OS / Apache / MySQL / PHP / DragonflyCMS):
Fedora 25 / Apache 2.4.27 / MariaDB 10.1.26 / PHP 7.1.10 / Mercurial


A quick look and all works in both PHP versions.

.:: I met php the 03 December 2003 :: Unforgettable day! ::.

Server specs (Server OS / Apache / MySQL / PHP / DragonflyCMS):
CloudLinux / Apache 2.4 LSAPI / MySQLi 5.6 / PHP 5.6 / DCVS

All times are UTC


Jump to: