Bug #77649 [NEW]: preload: Can't preload class %s with unresolved initializer for constant

From: Date: Thu, 21 Feb 2019 22:33:21 +0000
Subject: Bug #77649 [NEW]: preload: Can't preload class %s with unresolved initializer for constant
Groups: php.bugs 
Request: Send a blank email to php-bugs+get-219687@lists.php.net to get a copy of this message
From: mberchtold at gmail dot com Operating system: Windows 10 x64 PHP version: master-Git-2019-02-21 (snap) Package: opcache Bug Type: Bug Bug description:preload: Can't preload class %s with unresolved initializer for constant Description: ------------ This is related to the bug that was reported (and fixed) here: https://bugs.php.net/bug.php?id=77643 Basically I'm trying to preload some parts of zend framework 3 and the following warning is logged: PHP Warning: Can't preload class Zend\Db\Sql\Select with unresolved initializer for constant JOIN_LEFT_OUTER at vendor\zendframework\zend-db\src\Sql\Select.php:21 in Unknown on line 0 The constant is defined as following in Select.php const JOIN_LEFT_OUTER = Join::JOIN_LEFT_OUTER; where JOIN_LEFT_OUTER is defined in Join.php: const JOIN_LEFT_OUTER = 'left outer'; Test script: --------------- --INI-- opcache.enable=1 opcache.enable_cli=1 opcache.optimization_level=-1 opcache.preload={PWD}/preload_undef_const_5.inc preload_undef_const_5.inc: <?php $basedirectory = 'C:/test/'; // dependent classes opcache_compile_file($basedirectory . 'vendor/zendframework/zend-db/src/Sql/Join.php'); opcache_compile_file($basedirectory . 'vendor/zendframework/zend-db/src/Sql/AbstractPreparableSql.php'); opcache_compile_file($basedirectory . 'vendor/zendframework/zend-db/src/Sql/AbstractSql.php'); opcache_compile_file($basedirectory . 'vendor/zendframework/zend-db/src/Sql/SqlInterface.php'); opcache_compile_file($basedirectory . 'vendor/zendframework/zend-db/src/Sql/PreparableSqlInterface.php'); opcache_compile_file($basedirectory . 'vendor/zendframework/zend-db/src/Sql/Platform/PlatformDecoratorInterface.php'); // actual class opcache_compile_file($basedirectory . 'vendor/zendframework/zend-db/src/Sql/Select.php'); Expected result: ---------------- no warning Actual result: -------------- PHP Warning: Can't preload class Zend\Db\Sql\Select with unresolved initializer for constant JOIN_LEFT_OUTER at vendor\zendframework\zend-db\src\Sql\Select.php:21 in Unknown on line 0 -- Edit bug report at https://bugs.php.net/bug.php?id=77649&edit=1 -- Try a snapshot (PHP 5.4): https://bugs.php.net/fix.php?id=77649&r=trysnapshot54 Try a snapshot (PHP 5.5): https://bugs.php.net/fix.php?id=77649&r=trysnapshot55 Try a snapshot (trunk): https://bugs.php.net/fix.php?id=77649&r=trysnapshottrunk Fixed in SVN: https://bugs.php.net/fix.php?id=77649&r=fixed Fixed in release: https://bugs.php.net/fix.php?id=77649&r=alreadyfixed Need backtrace: https://bugs.php.net/fix.php?id=77649&r=needtrace Need Reproduce Script: https://bugs.php.net/fix.php?id=77649&r=needscript Try newer version: https://bugs.php.net/fix.php?id=77649&r=oldversion Not developer issue: https://bugs.php.net/fix.php?id=77649&r=support Expected behavior: https://bugs.php.net/fix.php?id=77649&r=notwrong Not enough info: https://bugs.php.net/fix.php?id=77649&r=notenoughinfo Submitted twice: https://bugs.php.net/fix.php?id=77649&r=submittedtwice register_globals: https://bugs.php.net/fix.php?id=77649&r=globals PHP 4 support discontinued: https://bugs.php.net/fix.php?id=77649&r=php4 Daylight Savings: https://bugs.php.net/fix.php?id=77649&r=dst IIS Stability: https://bugs.php.net/fix.php?id=77649&r=isapi Install GNU Sed: https://bugs.php.net/fix.php?id=77649&r=gnused Floating point limitations: https://bugs.php.net/fix.php?id=77649&r=float No Zend Extensions: https://bugs.php.net/fix.php?id=77649&r=nozend MySQL Configuration Error: https://bugs.php.net/fix.php?id=77649&r=mysqlcfg

« previous php.bugs (#219687) next »