4 ms·
PHP has its faults, but it also has dead-easy deployment, cheap and reliable hosting, good documentation, and an excellent community.
by KnightWhoSaysNi 15y ago
PHP has its faults, but it also has dead-easy deployment, cheap and reliable hosting, good documentation, and an excellent community.
- checker 15y agoExactly. There are tradeoffs to be made when making any architectural decision. PHP may not be the right choice for someone, but it might for someone else in a different situation that values the characteristics you highlighted. However, it is ultimately a potential hire's choice what they want to grow their experience in.
- masklinn 15y ago> it also has dead-easy deployment, cheap and reliable hosting Matters for a single 15 years-old developer. Deployment is never easy when you get do anything non-trivial, and the cheap hosting... hosting for other languages start at $5 or $10... The only cheaper hostage PHP has is free. > good documentation That's highly debatable. I've also seen the PHP doc comments being pimped, I could never find anything worth more than a laugh in that cesspool.
- KnightWhoSaysNi 15y agoRegarding hosting I wasn't just talking about shared hosting. Setting up a LAMP VPS is just a couple of clicks. Compare that to setting up e.g. Django or Rails. I personally love Django, Flask, etc., but setting up a website is still faster with PHP (depending on your setup, of course).
- sjs 15y agoTry to instruct a noob on configuring Apache for vhosts or adding users to mysql then come back and tell me the deployment story for LAMP is so good. Node.js wins for deployment if you ask me. Node.js + riak handily beats the pants off of the LAMP stack. It's so easy I'll tell you how to do it right now: 1. Install node, ./configure && make && make install 2. Install riak, make all rel && mv rel/riak /usr/local && export PATH="/usr/local/riak/bin:$PATH" 3. Install your app: scp -r remote:/my/app /web 4. Install dependencies: cd /web/app && npm install 5. Run your app: node /web/app/do/something/cool.js Back to my coffee. (I'm being somewhat facetious and these instructions don't get you startup services and such, but I do believe that Node.js stacks are much simpler than traditional stacks and easier for devs that have to wear the sysadmin hat too)
- KnightWhoSaysNi 15y agoI like Node, but... really? You're saying that, for noobs, compiling programs on the command line is easier than copying a few Apache lines? Noobs can't do what you just outlined; they'll be puzzled the first time one of the commands fail (missing compiler, failed dependencies, whatever).
- sjs 15y agoThey'll be puzzled when they copy and paste something but their vhost still doesn't work because they didn't, say, enable vhosts in httpd.conf in the first place. If they can install and configure Apache on a remote server, they can install and run node. I don't think it requires any more skill to copy and paste different commands into the console and you don't have to edit any configs or ask questions like "what distro? does your distro configure apache for vhosts out of the box? do you have an httpd.conf or vhost.enabled? run nano and hit ctrl-o to "write out" the file..." Honestly though I don't think noobs do these things anyway. They will just ftp stuff into a directory on their host if they're using PHP. If they're using node I think the easiest deployment scenario is doing a git push. So practically speaking PHP is still the easiest for a clueless Windows noob to use.
- encoderer 15y agoI like PHP just fine, but what you just did there, was compare a language--bundled with apache even--and compared it to 2 frameworks. It's just as easy to get mod_python working as it is mod_php.
- masklinn 15y agomod_python is kind-of a pain to get going actually, and recommended against these days. mod_wsgi on the other hand... 4 lines in your apache config file. 6 if you're using a daemon process (which is better).
- encoderer 15y agoThat's what I get for being poetic. I've done a lot of python development but not all that much for the web. When i have, I used Tornado. Which is also really easy to get running. So I stand by my point!!
- KnightWhoSaysNi 15y agoTo use WSGI (which is what most people would use instead of mod_python) you have to write some lines in your server configuration plus a script that loads your framework of choice. Compare that to getting CodeIgniter up and running: SFTP the files into the server, and you're up. No server configuration needed. One could argue that this is not a feature of PHP itself, but that doesn't change the fact that "normal" PHP solutions are simply faster to get up and running.
- encoderer 15y ago(Read my tone here is debatish and not di^kish plz) In what circumstances does the fact that a Hello World can be setup in 5 mins versus 10 actually matter? We spend thousands of hours developing software. Five mins versus 10 is truly moot. Besides, you're going to get into httpd.conf to configure a vhost before long -- mod_php or mod_wsgi -- so it's not as if it's a hands-off experience with PHP.
- masklinn 15y ago> Compare that to setting up e.g. Django or Rails. Can't speak for rails, but for Django we're talking 15 lines and a pair of commands for a clean setup: * Create a virtualenv with all your dependencies and your django application checked out (0 lines) * Extract static files to whatever directory you're serving static files from (1 command in 1.3) * Create your wsgi handler script (4 lines, because you have to setup the DJANGO_SETTINGS_MODULE env) * WSGIScriptAlias and the relevant directory allow (5 lines) * WSGIDaemonProcess and WSGIProcessGroup configuration directives (2 lines) done.
- KnightWhoSaysNi 15y agoFor PHP, it's 0 lines. Works right out of the box.
- drdaeman 15y agoNope. You have to set up a webserver (Apache or whatever) and PHP. Then (to get on par with Django+virtualenv practices level) get some PHP framework of choice... Sure, PHP comes pre-configured out of the box. But there are no real differences between `apt-get install python-django` (comes with a development web-server, runnable as ./manage.py runserver) and `apt-get install apache2 libapache2-php`.
- mtogo 15y agoYeah, Django and Flask are just as easy (if not easier, thanks to services like Dotcloud) to deploy as PHP. Let's take your VPS example. Install nginx, gunicorn, and your database of choice. Set up gunicorn to serve your app, set up nginx to serve static and proxy to your gunicorn instance. Do any app-specific setup. That doesn't take any longer than deploying a PHP app, at least not for me.
- KnightWhoSaysNi 15y agoSeveral PaaSes support PHP, too, so no major difference there. In a VPS environment, however, setting up PHP doesn't require anything - it works right out of the box - whereas Django and Flask require more packages to be installed /and/ require some lines of server configuration and a script that loads your framework.
- mtogo 15y agoIn a VPS environment, however, setting up PHP doesn't require anything - it works right out of the box Well, you do need to install the AMP part. Since you're installing and configuring three components, why not install and configure different ones? It's not more or less work either way. If you're talking about AMI/StackScript-style pre-built VPSes, there are plenty for various Ruby, Python, and Node stacks as well as PHP.
- deleted 15y ago[deleted]
- deleted 15y ago[deleted]
- SimHacker 15y agoSince when were the 15 minutes you might save by setting up PHP instead of a reasonable software development environment worth more than preventing the years of torment and pain you'll suffer from choosing the wrong technology?
- KnightWhoSaysNi 15y ago"Years of torment"? Doesn't match my experience at all. Did you read MailChimp's blog post?