Skip to content

Consider removing default -n flag (use system php.ini by default) #465

@dg

Description

@dg

Tester runs PHP with -n flag by default, ignoring php.ini to ensure a clean, reproducible environment. Users who need php.ini must explicitly use -C or -c path/to/php.ini.

The idea was to provide a consistent, isolated environment where all configuration is explicitly provided by the test suite, avoiding "works on my machine" issues caused by different php.ini settings.

In practice, this approach doesn't work well on Linux because:

  1. Extensions like intl, fileinfo, etc. are installed system-wide and require extension_dir to be set correctly
  2. There's no practical way to bundle these extensions with the test suite
  3. As a result, almost everyone ends up using -C anyway
  4. Tests fail with confusing errors about "missing extensions" when -C is forgotten

Proposal:
Remove the default -n behavior - let Tester use system php.ini by default (equivalent to current -C).

Users who want isolated environment can still use explicit -c flag.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions