That is, I can manage and deploy php apps with different php versions, database versions, repo versions, etc, without too much pain already. Because deploying a PHP app is mostly just dropping files into a directory and restarting a web server.
That is, I can manage and deploy php apps with different php versions, database versions, repo versions, etc, without too much pain already. Because deploying a PHP app is mostly just dropping files into a directory and restarting a web server.
raziel2p wrote:
"However, I think the author trivializes the amount of work required to make different types of Python/PHP/NodeJS/whatever apps all work in a consistent way through configuration management, saying "I can just write a bash script or makefile." or "just download roles from Ansible Galaxy". This is so painfully ignorant and irresponsible that I fail to take the article seriously as a whole."
From here:
If a person says that thing X is hard for them in their context, default to believing them.
There is no contradiction there.
I recommend applying Bayes Rule:
If someone says they were abducted by aliens, first think about how likely that is to have happened. Then account for the probability that someone who says that it happened is confused or lying about that situation. Then maybe ask a clarifying question.
If someone says they were frustrated and confused by python packaging, first think about how likely that is to have happened. Then account for the probability that someone who says that it happened is confused or lying about that situation. Then maybe ask a clarifying question.
——————————
Personally, I think it is much more common for people to be confused about configuring and packaging software than it is for people to be totally clear yet also confused about whether or not they are confused.
But there's a bigger issue here. The comments the OP received, are heavily worded to the point that they explicitly state that the article made them angry.
Regardless of whether containers are suitable or not for task X or Y, it is very difficult to have a normal conversation, if one's comments can actually make people angry.
The default `pip` and `pip3` commands, however, used the system python and did read those directories, meaning that it kept insisting the given package was installed. It was a frustrating amount of digging around that could have been avoided in myriad ways, one of which being containers (though for a 30-line python script, docker seems like overkill).
How do you do that one? Last time I tried (granted, a long time ago), apache-mod-php was hardcoded into a single php version, and you couldn't have different versions of it on apache either.
I always classified php as one of the most problematic languages that need containment. There's not only that hard dependency on the version, but the language also has a global configuration storage that, last time I used it, can not be overloaded.
If you use php_fpm as others suggest, it would likely be easier.
Either way, you need to have some way to indicate which version you want; it used to be common on shared hosting to have .php3 vs .php4 vs .php5 files to indicate which version you wanted; but I think modern PHP tends to have less code that doesn't work with newer versions.
Lots of solutions can't "just restart a web server" as part of their deployment.
You could always disable opcaching and then you wouldn't even have to restart the server to deploy a new PHP instance.