Skip to content

Regression: extension_loaded('opcache') true / 'Zend OPcache' false — Zend inverted names (ext/opcache) #24993

Closed

Description

@PurHur

Category

stdlib · php-src-strict · extension registry / opcache name

Problem

On a stock Zend 8.2 CLI build, extension_loaded('Zend OPcache') is true and extension_loaded('opcache') is false. php-compiler inverts the names: 'opcache' loads as true and 'Zend OPcache' as false. function_exists('opcache_get_status') is true on both sides, so this is a registry name mismatch, not absence of the API.

Probed 2026-07-29 Zend 8.2.32 vs bin/vm.php @ a4c54c0ef.

Repro Zend 8.2 VM
extension_loaded('opcache') false true
extension_loaded('Zend OPcache') true false
function_exists('opcache_get_status') true true

php-src reference

PHP implementation target

  • Extension registry / extension_loaded mapping in ext/ or lib/ — register the Zend module name Zend OPcache (and stop advertising bare opcache unless Zend does on that profile)
  • PHP-in-PHP; no new C

Repro

./script/docker-exec.sh -- bash -lc 'php test/repro/maintainer_gap_opcache_extension_name.php; php bin/vm.php test/repro/maintainer_gap_opcache_extension_name.php'

Done when

  • extension_loaded('opcache') / extension_loaded('Zend OPcache') match Zend on the reference profile
  • Compliance or repro guard; php-src-strict

Activity

  1. added
    bugSomething isn't working
    phase-4:stdlibPhase 4 – stdlib for web apps
    area:vmVirtual machine
    implementation-readySpec complete: repro, php-src ref, done-when — safe for workers to claim
    on Jul 29, 2026
  2. PurHur commented on Jul 29, 2026

    @PurHur
    OwnerAuthor

    claim: PHP Compiler STD Lib Advanced — batch (#24968, #24993, #24994). Queued after #24968.

  3. PurHur commented on Jul 29, 2026

    @PurHur
    OwnerAuthor

    claim: PHP Compiler STD Lib Advanced — starting #24993 after #24968 merged.

  4. PurHur commented on Jul 29, 2026

    @PurHur
    OwnerAuthor

    Merged — see latest PR for #24993.

    Verification: VM+JIT extension_loaded('opcache')=false, ('Zend OPcache')=true, opcache_get_status exists, get_extension_funcs Zend-name only.

    Batch this run: #24950, #24968, #24993 merged. #24994 pgsql phantom queued next.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    area:vmVirtual machinebugSomething isn't workingimplementation-readySpec complete: repro, php-src ref, done-when — safe for workers to claimphase-4:stdlibPhase 4 – stdlib for web appsstdlib

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions