Coder Social home page Coder Social logo

Comments (4)

sophiewigmore avatar sophiewigmore commented on August 20, 2024 2

@dmikusa-pivotal I kind of think that the PHP HTTPD and PHP Nginx buildpacks should be fully rid of any and all start commands. In my eyes the PHP Start buildpack should have:

  • HTTPD + PHPFPM + procmgr
  • HTTPD + PHPFPM + procmgr
  • HTTP only but as a proxy to PHPFPM external
  • Nginx only but as a proxy to PHPFPM external

I agree that the PHP FPM buildpack should still handle the PHP FPM only case.

from php.

dmikusa avatar dmikusa commented on August 20, 2024

I like this approach.

The following scenarios come up to me:

What goes in the container What buildpack sets the start command
HTTPD + PHPFPM + procmgr PHP Start
Nginx + PHPFPM + procmgr PHP Start
HTTP only but as a proxy to PHPFPM external PHP HTTPD
Nginx only but as a proxy to PHPFPM external PHP Nginx
PHPFPM only PHP FPM

I think the existing buildpacks can cleanly handle the last three cases, but it'd be tricky for them to handle the first two. Adding a PHP Start buildpack to handle those cases will keep PHP FPM, PHP HTTPD, and PHP Nginx simpler.

The only downside I see here is that things are getting quite spread out. There are now four buildpacks that can set a start command. You have to have a good understanding of how that works and who's responsible for those scenarios to a.) make future changes confidently and b.) troubleshoot if something unexpected happens.

I definitely think this requires some specific dev docs and possibly a flow chart or something to document how this is expected to behave.

from php.

sophiewigmore avatar sophiewigmore commented on August 20, 2024

@paketo-buildpacks/php-maintainers if we're in agreement I will close this out and write the RFC!

from php.

sophiewigmore avatar sophiewigmore commented on August 20, 2024

RFC has been merged so closing this out!

from php.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.