FOSSA supports PHP projects through Composer.

Tool

Repository Scanning

CI/CD Scanning

Composer

composer.json

composer.lock

Repository Scanning

🚧

Feature in Beta

Repository Scanning for Composer projects are currently in Beta. For now we recommend that you use CI/CD Scanning.

When PHP code is imported, FOSSA will find and parse the contents of composer.json files for dependency data and intelligently resolve any references.

If an exact version is not given (i.e. a version range), FOSSA will resolve a dependency to the highest version satisfying the constraint compliant to the Composer versioning spec.

Currently, Repository Scanning of Composer projects have the following limitations:

  • We do not elect versions based on the composer.lock file.
  • We currently ignore stability tags (@dev, @stable, etc.).
  • We ignore php and php extensions when inside the require key of composer.json.
  • We only look at require for dependencies. Dev dependencies will be ignored (require-dev, repositories, replace will be ignored).
  • Non-standard version constraints (i.e. dev-, or .x-dev) currently have stability issues.

CI/CD Scanning

To get started, install the latest release of fossa-cli from our GitHub releases page:

curl -H 'Cache-Control: no-cache' https://raw.githubusercontent.com/fossas/fossa-cli/master/install-latest.sh | bash

Once installed, run fossa analyze inside of your repo's root directory to analyze your Compose project.

You can view our extended documentation here.

Package Data

FOSSA supports any package available on https://packagist.org/.

All code within a package is audited for license information. If a license file is declared by the license field in composer.json, it will be elected as a "Declared License" or "Primary License" in the FOSSA UI.