PHP application with Node.js

There are some cases where a PHP application also needs Node.js. It is for example the case if you use webpack to bundle the assets. For this reason, the PHP buildpack detects if you have a package.json file at the root of your repository and install Node.js if needed. Then the dependencies are installed, including those declared in devDependencies. This is the default behaviour as most of the time, dependencies to bundle the assets are declared as development dependencies.

If this is not the intended behaviour, or if you need to fine tune the Node.js installation, you better use the real Node.js buildpack. In this case, one should use multi buildpacks. Here is how to do that.

Add a file named .buildpacks at the root of your application containing (the order of the two lines is important):

https://github.com/Scalingo/nodejs-buildpack
https://github.com/Scalingo/php-buildpack

Eventually, define the environment variable PHP_BUILDPACK_NO_NODE=true in your application.

With this setup, Scalingo will first execute the Node.js buildpack to execute yarn install and yarn build. Then the PHP buildpack is executed without the basic Node.js support it embeds.


mode_edit Suggest edits