Skip to content

Stdlib: CURLINFO_* constants defined without ext/curl — phantom registry (ext/curl/php_curl.h) #11669

Closed

Description

@PurHur

Summary

defined('CURLINFO_EFFECTIVE_URL') is true and function_exists('curl_init') is true on VM while extension_loaded('curl') is false and Zend (no ext/curl) reports the constant undefined and curl_init absent.

User code gating on defined('CURLINFO_*') or assuming constants imply a working curl extension gets false positives. Related to closed #11654 / #11627 extension probe mismatches — this issue scopes constant registration specifically.

php-src reference

Repro

test/repro/maintainer_gap_curlinfo_constant_phantom.php

./script/docker-exec.sh -- bash -lc 'source script/php-env.sh
php test/repro/maintainer_gap_curlinfo_constant_phantom.php
php bin/vm.php test/repro/maintainer_gap_curlinfo_constant_phantom.php'

Zend: curlinfo_defined=no, curl_init_exists=no, extension_loaded_curl=no

VM: curlinfo_defined=yes, curl_init_exists=yes, extension_loaded_curl=no

Expected (php-src-strict)

Until #3325 implements curl, CURLINFO_* constants, curl_* functions, and extension_loaded('curl') must all agree (absent/false). No phantom constants.

Implementation hints

Done when

  • Repro matches Zend probe output on VM
  • No defined('CURLINFO_*') true while curl unavailable

Activity

  1. added
    enhancementNew feature or request
    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 Jun 25, 2026
  2. PurHur commented on Jun 25, 2026

    @PurHur
    OwnerAuthor

    claim: PHP Compiler STD Lib — batch (issues #11677, #11669, #11674)

  3. PurHur commented on Jun 25, 2026

    @PurHur
    OwnerAuthor

    Merged via #11684. Repro: curlinfo_defined=no, curl_init_exists=no, extension_loaded_curl=no.

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 machineenhancementNew feature or requestimplementation-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