Bug #79350 [Ver]: 8.0-dev: Uncaught Error: Class 'PelEntry' not found

From: Date: Thu, 12 Mar 2020 10:22:44 +0000
Subject: Bug #79350 [Ver]: 8.0-dev: Uncaught Error: Class 'PelEntry' not found
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-226055@lists.php.net to get a copy of this message
Edit report at https://bugs.php.net/bug.php?id=79350&edit=1 ID: 79350 Updated by: nikic@php.net Reported by: bugreports at gmail dot com Summary: 8.0-dev: Uncaught Error: Class 'PelEntry' not found Status: Verified Type: Bug Package: Scripting Engine problem Operating System: Linux PHP Version: master-Git-2020-03-07 (Git) Block user comment: N Private report: N New Comment: No, that's not it. I think the issue is that this code is relying on early binding, and early-binding on the PelEntry class is now prevented due to implicit addition of Stringable interface. Previous Comments: ------------------------------------------------------------------------ [2020-03-12 10:09:31] nikic@php.net I think something is going wrong with a recursive require_once. ------------------------------------------------------------------------ [2020-03-07 04:12:11] bugreports at gmail dot com Description: ------------ this is only broken with PHP 8.0-dev for some time now and it's technically not possible that a class defined in the include above the extending definition is not found require_once __DIR__ . '/PelEntry.php'; class PelEntryUndefined extends PelEntry { } [builduser@testserver:/rpmbuild/SPECS]$ /home/builduser/rpmbuild/BUILD/php-8.0.0/sapi/cli/php -n /www/php-bug/test.php Fatal error: Uncaught Error: Class 'PelEntry' not found in /Volumes/dune/www-servers/php-bug/pel/PelEntryUndefined.php:59 Stack trace: #0 /Volumes/dune/www-servers/php-bug/pel/PelIfd.php(44): require_once() #1 /Volumes/dune/www-servers/php-bug/pel/PelTag.php(45): require_once('/Volumes/dune/w...') #2 /Volumes/dune/www-servers/php-bug/pel/PelEntry.php(52): require_once('/Volumes/dune/w...') #3 /Volumes/dune/www-servers/php-bug/pel/PelExif.php(47): require_once('/Volumes/dune/w...') #4 /Volumes/dune/www-servers/php-bug/pel/PelJpeg.php(49): require_once('/Volumes/dune/w...') #5 /Volumes/dune/www-servers/php-bug/test.php(2): include_once('/Volumes/dune/w...') #6 {main} thrown in /Volumes/dune/www-servers/php-bug/pel/PelEntryUndefined.php on line 59 Test script: --------------- tarball with the (i know outdated) pel-library and the simplest reproducer which works in 7.0-7.4 but no longer with HEAD https://drive.google.com/file/d/1stClmJ92hp1ZbDNbRYOGyu3FXn0ktRbI/view?usp=sharing ------------------------------------------------------------------------ -- Edit this bug report at https://bugs.php.net/bug.php?id=79350&edit=1

« previous php.bugs (#226055) next »