AI prompts
base on null # PHP Distribution Cloud Native Buildpack
The PHP Distribution CNB provides the PHP binary distribution. The buildpack
installs the PHP binary distribution onto the $PATH which makes it available
for subsequent buildpacks. These buildpacks can then use that distribution to
run PHP tooling. The PHP Web CNB is an example of a buildpack that utilizes the
PHP binary.
## Integration
The PHP Distribution CNB provides php as a dependency. Downstream buildpacks,
like [PHP Composer CNB](https://github.com/paketo-buildpacks/php-composer) can
require the php dependency by generating a [Build Plan
TOML](https://github.com/buildpacks/spec/blob/master/buildpack.md#build-plan-toml)
file that looks like the following:
```toml
[[requires]]
# The name of the PHP dependency is "php". This value is considered
# part of the public API for the buildpack and will not change without a plan
# for deprecation.
name = "php"
# The PHP buildpack supports some non-required metadata options.
[requires.metadata]
# Setting the build flag to true will ensure that the PHP
# depdendency is available on the $PATH for subsequent buildpacks during
# their build phase. If you are writing a buildpack that needs to run PHP
# during its build process, this flag should be set to true.
build = true
# Setting the launch flag to true will ensure that the PHP
# dependency is available on the $PATH for the running application. If you are
# writing an application that needs to run PHP at runtime, this flag should
# be set to true.
launch = true
# Optional. If not provided, the buildpack will provide the default version from buildpack.toml.
# To request a specific version, you can specify a semver constraint such as "8.*", "8.0.*",
# or even "8.0.4".
version = "8.0.4"
```
## Usage
To package this buildpack for consumption:
```bash
$ ./scripts/package.sh
```
This builds the buildpack's Go source using GOOS=linux by default. You can supply another value as the first argument to package.sh.
## License
This buildpack is released under version 2.0 of the [Apache License][a].
[a]: http://www.apache.org/licenses/LICENSE-2.0
## Run Tests
To run all unit tests, run:
```
./scripts/unit.sh
```
To run all integration tests, run:
```
./scripts/integration.sh
```
## Buildpack Configurations
### PHP Version
Specifying the PHP Dist version through buildpack.yml configuration is deprecated.
To migrate from using `buildpack.yml` please set the `$BP_PHP_VERSION`
environment variable at build time either directly (ex. `pack build my-app
--env BP_PHP_VERSION=7.3.*`) or through a [`project.toml`
file](https://github.com/buildpacks/spec/blob/main/extensions/project-descriptor.md)
```shell
# this allows you to specify a version constraint for the `php` depdendency
# any valid semver constaints (e.g. 7.*) are also acceptable
$BP_PHP_VERSION="7.3.*"
```
### PHP library directory
The PHP library directory is available to PHP via an include path in the PHP
configuration. By default it is set to `/workspace/lib` and can be overriden by
setting the `BP_PHP_LIB_DIR` environment variable at build-time.
```shell
$BP_PHP_LIB_DIR="some-directory"
```
### Provide custom `.ini` files
Custom `.ini` files can be provided from users to amend the default `php.ini`
file. This can be done by placing an `ini`-type configuration file inside
`<application directory>/.php.ini.d/`. Its path will be made available via the
`PHP_INI_SCAN_DIR`.
## Debug Logs
For extra debug logs from the image build process, set the `$BP_LOG_LEVEL`
environment variable to `DEBUG` at build-time (ex. `pack build my-app --env
BP_LOG_LEVEL=DEBUG` or through a [`project.toml`
file](https://github.com/buildpacks/spec/blob/main/extensions/project-descriptor.md).
", Assign "at most 3 tags" to the expected json: {"id":"6339","tags":[]} "only from the tags list I provide: []" returns me the "expected json"