Bug #78169 [NEW]: preloading + require vs fatal error
| From: | nicolas dot grekas+php at gmail dot com | Date: | Fri, 14 Jun 2019 21:20:55 +0000 |
| Subject: | Bug #78169 [NEW]: preloading + require vs fatal error | ||
| Groups: | php.bugs | ||
| Request: | Send a blank email to php-bugs+get-221323@lists.php.net to get a copy of this message | ||
From: nicolas dot grekas+php at gmail dot com
Operating system:
PHP version: 7.4.0alpha1
Package: opcache
Bug Type: Bug
Bug description:preloading + require vs fatal error
Description:
------------
When opcache.preload is used, requiring twice a file that declares a
preloaded class will not yield any error, while when preloading is not
used, one will get a cannot redeclare error.
On the other side, when require_once is used, a preloaded class file is
not considered "already loaded", which means the require happens during
execution.
Would it make sense to change both these behaviors to make them more in
line with normal engine behavior?
i.e. "require_once" on a file that was already preloaded wouldn't
require it again,
and "require" on a preloaded file that contains a class declaration
would yield a "cannot redeclare" fatal error?
This would be more expected to me. WDYT?
--
Edit bug report at https://bugs.php.net/bug.php?id=78169&edit=1
--
Try a snapshot (PHP 5.4): https://bugs.php.net/fix.php?id=78169&r=trysnapshot54
Try a snapshot (PHP 5.5): https://bugs.php.net/fix.php?id=78169&r=trysnapshot55
Try a snapshot (trunk): https://bugs.php.net/fix.php?id=78169&r=trysnapshottrunk
Fixed in SVN: https://bugs.php.net/fix.php?id=78169&r=fixed
Fixed in release: https://bugs.php.net/fix.php?id=78169&r=alreadyfixed
Need backtrace: https://bugs.php.net/fix.php?id=78169&r=needtrace
Need Reproduce Script: https://bugs.php.net/fix.php?id=78169&r=needscript
Try newer version: https://bugs.php.net/fix.php?id=78169&r=oldversion
Not developer issue: https://bugs.php.net/fix.php?id=78169&r=support
Expected behavior: https://bugs.php.net/fix.php?id=78169&r=notwrong
Not enough info: https://bugs.php.net/fix.php?id=78169&r=notenoughinfo
Submitted twice: https://bugs.php.net/fix.php?id=78169&r=submittedtwice
register_globals: https://bugs.php.net/fix.php?id=78169&r=globals
PHP 4 support discontinued: https://bugs.php.net/fix.php?id=78169&r=php4
Daylight Savings: https://bugs.php.net/fix.php?id=78169&r=dst
IIS Stability: https://bugs.php.net/fix.php?id=78169&r=isapi
Install GNU Sed: https://bugs.php.net/fix.php?id=78169&r=gnused
Floating point limitations: https://bugs.php.net/fix.php?id=78169&r=float
No Zend Extensions: https://bugs.php.net/fix.php?id=78169&r=nozend
MySQL Configuration Error: https://bugs.php.net/fix.php?id=78169&r=mysqlcfg