Welcome to eZpedia!
| The free eZ Publish encyclopedia that anyone can edit. eZpedia has accumulated 722 english articles since 2006. We encourage you to create an account and create or edit a page yourself. Some folks create an article in the people namespace with their full name as the article name with a brief description of who they are, their interests, goals and objectives. Ask A QuestionDo you have an eZ Publish question, do you need an eZ Publish answer? Simply login and ask your question in our discussion forum. We publicly write free documentation based on your submissions. Posting on eZpedia is a great way to get answers you need and contribute to our freely available community documentation for eZ Publish. Chat with other eZ Publish Developers LIVE from around the World!EcosystemRead about what is going on within the various eZ Publish related websites on internet. Recent development activityTrack the development progress through the roadmap by reviewing recent Exponential Git activity from the github repository. Last updated: 2026-04-08T13:42:26Z
2026-04-08T13:42:26Z
fix(ezsession): PHP 8 compat — read() returns '', gc() uses time() + gcStartTime
Bug1: read() returned false on DB-not-connected and no-row paths. PHP 8
enforces SessionHandlerInterface strictly — false causes a recursive
session restart ("Cannot call session save handler in a recursive manner").
Fixed: both failure paths now return ''.
Bug2: gc() WHERE clause used $maxLifeTime (a duration, e.g. 1440 seconds)
against expiration_time (an absolute Unix timestamp). The condition
'expiration_time < 1440' never matched any real session, so expired
sessions were never deleted. Fixed: both iterating and non-iterating
paths now use time().
Bug3: gc() timeout guard computed elapsed time as ($stopTime - $maxLifeTime),
treating $maxLifeTime as a start timestamp (~1.7 billion seconds elapsed),
so the guard always fired after the first batch. Fixed: $gcStartTime =
time() is captured before the do-while loop and used as the reference.
Tests: tests/tests/lib/ezsession/EzpSessionHandlerDBPhp8BugfixesTest.php
12 tests, 28 assertions, PHPUnit 13.0.0 / PHP 8.5.5, zero notices,
no live DB or eZ kernel required (hand-rolled stubs).
Docs: doc/bc/6.0/ezpsessionhandlerdb-php8-bugfix-and-tests.md
2026-04-07T22:38:32Z
SQLite3: register eZSQLite3DB autoload + support absolute DB path
Two fixes to enable the legacy kernel to work with a shared Doctrine/DBAL
SQLite database file (as used by the Platform v4 new-stack integration):
autoload/ezp_kernel.php:
- Added 'eZSQLite3DB' => 'lib/ezdb/classes/ezsqlite3db.php' entry so PHP
can autoload the class. Without this the [DatabaseSettings] ImplementationAlias
sqlite3=eZSQLite3DB mapping in site.ini resulted in a fatal autoload failure
and a null DB connection.
lib/ezdb/classes/ezsqlite3db.php:
- connect() now detects when $fileName is an absolute path (starts with /)
and uses it directly instead of prepending 'var/storage/sqlite3/'. This
allows the legacy bridge to pass the full absolute path from DBAL's
SQLite connection params ('path' key) via site.ini DatabaseSettings/Database,
so both stacks share the same .db file rather than each creating a separate one.
2026-03-31T23:30:47Z
Added: Added rstring, ristring and many other php string operators as template operators. New features.
2026-03-31T23:30:14Z
Updated: Upgraded phpunit test suite support to v13. Upgrade.
2026-03-11T07:58:59Z
Revise issue tracker links and eZ Platform description Updated issue tracker links and clarified eZ Platform information.
2026-03-10T04:40:58Z
Add Exponential Project Issue tracker section to README Added a section for the Exponential Project Issue tracker with submission guidelines.
2026-03-10T04:38:25Z
Update distribution count and add Nexus version details |
Recent discussionsRead what others are discussing |
|
Recently updated articlesRead recently modified articles
|
||
