Written by

Ten days ago, PHP made the two lastest bug­fix releas­es avail­able (PHP 7.1.14 and PHP 7.2.2). In response, we changed how you are able to con­fig­ure your PHP web­sites in our always­da­ta host­ing ser­vice. We are on the road towards simplicity.

simplify the simpsons GIF @Giphy

Ruby, Python, Node.js… and PHP?

One of the core fea­tures of the always­da­ta ser­vice offer is the var­i­ous tech­nolo­gies that you are giv­en access to. From shared offers, host­ing your apps remains easy and effort­less. You have numer­ous choic­es of inter­preters for lan­guages such as Ruby, Python, Node.js, etc. and — of course — PHP.

This PHP choice is avail­able under web­sites set­tings form as a Type: Apache stan­dard.

Type Apache standard - Settings form screenshot

From a tech­ni­cal point of view, an Apache instance serves PHP web­sites through the mod_fcgid mod­ule. Others inter­preters (WSGI, Rails, or User pro­gram) use their own HTTP servers. Our super­vi­sor alproxy exe­cutes and routes HTTP traf­fic to the rel­e­vant process­es in front.

Technical imple­men­ta­tion does not always pro­duce good UX. In fact, often, it does not. It is counter-intu­itive to men­tion Apache for PHP web­sites because the HTTP serv­er is always in use. We have decid­ed to be more con­sis­tent by upgrad­ing the choic­es for your instance types. Now, your PHP web­sites and apps will have their own Type: PHP, only.

PHP website type - Settings form screenshot

The bonus effect

More than a cos­met­ic update, this rep­re­sents an actu­al struc­tur­al improve­ment. Yet, with a Python, Ruby (or Rails), Node.js or Elixir web­sites, you will be able to choose which ver­sion to use for each one, indi­vid­u­al­ly. There is sim­ply no rea­son for PHP to not fol­low the same pat­tern. Now, you will be able to cus­tomize, for each instance, which ver­sion of PHP to use, as well as its php.ini settings.

Of course, you can always define default set­tings for spe­cif­ic ver­sions and php.ini in your Environment sec­tion. They are used glob­al­ly when you do not choose to over­ride them in your web­site settings.

This way, you are giv­en even more flex­i­bil­i­ty. You will be able to host var­i­ous instances of PHP web­sites and ser­vices with dif­fer­ent ver­sions and set­tings all under the same account. That is the kind of ease and ver­sa­til­i­ty we want to offer you at always­da­ta.

A quick reminder about secu­ri­ty. Please keep in mind that con­tain­ers’ iso­la­tion is depen­dent on your account. The mul­ti-accounts remains the only pos­si­ble solu­tion option if you want to split your web­sites or ser­vices to keep them iso­lat­ed from one anoth­er. If one of your web­sites should be com­pro­mised, oth­ers ser­vices run­ning under the same account — with the same user — might be exposed, too. Be care­ful to not decrease your secu­ri­ty cur­sor too much by gath­er­ing all of your sites under the same account.

About API

If you use our API, some changes will occur:

  • cre­at­ing an Apache stan­dard web­site capa­bil­i­ty is dep­re­cat­ed but still works. It will cre­ate a PHP web­site with defaults set­tings from your envi­ron­ment. However, please remem­ber to update your scripts.
  • list­ing web­sites or get­ting a resource will give you now a PHP type rather than the Apache stan­dard type. If you run a test on the returned type, please update your script to take this dif­fer­ence into account.

This new ver­sion will be put into pro­duc­tion on Feb. 15th. This upgrade is trans­par­ent for all Apache stan­dard web­sites. You have noth­ing that you need to do on your side. As usu­al, we take care of every­thing for you.

Static files or Redirect types con­tin­ue to use an Apache instance also, and still work under their own types. Of course, if you need some fine­ly-tuned instances, the Apache cus­tom type will remain avail­able to you.

joel mchale my new guilty pleasure GIF @Giphy