This repo is no longer maintained and supported as the official PHP buildpack for Cloud Foundry.
The official one can be found here.
A Cloud Foundry buildpack for PHP based apps.
This is based on the Heroku buildpack.
Additional documentation can be found at CloudFoundry.org.
This buildpack will be used if there is a composer.json
or index.php
file in the root directory of your project.
cf push my_app -b https://github.com/cloudfoundry/php-buildpack-legacy.git
The primary purpose of extending the heroku buildpack is to cache system dependencies for firewalled or other non-internet accessible environments. This is called 'offline' mode.
'offline' buildpacks can be used in any environment where you would prefer the dependencies to be cached instead of fetched from the internet.
The list of what is cached is maintained in bin/package.
Using cached system dependencies is accomplished by overriding curl during staging. See bin/compile
Offline mode expects each app to use composer to manage dependencies. Use composer install
to vendor your dependencies into /vendor
.
There are three supported behaviors if the app has no dependencies:
-
If index.php exists, the app does not need a composer.json file.
-
The app can have an empty composer.json file:
touch composer.json
-
The app can explicitly disable the default Packagist repository:
echo '{"repositories":[{"packagist":false}]}' > composer.json
- Make sure you have fetched submodules
git submodule update --init
- Build the buildpack
bin/package [ online | offline ]
-
Use in Cloud Foundry
Upload the buildpack to your Cloud Foundry and optionally specify it by name
cf create-buildpack custom_php_buildpack php_buildpack-offline-custom.zip 1 cf push my_app -b custom_php_buildpack
See the Machete CF buildpack test framework for more information.
- Fork the project
- Submit a pull request
Open an issue on this project
The project backlog is on Pivotal Tracker