Hacker News new | past | comments | ask | show | jobs | submit login

Regarding 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).



Try 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)


I 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).


They'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.


I 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.


To 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.


(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.


mod_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).


That'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!!


Yeah, 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.


Several 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.


In 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.


Since 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?


"Years of torment"? Doesn't match my experience at all. Did you read MailChimp's blog post?


> 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.


For PHP, it's 0 lines. Works right out of the box.


Nope. 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`.




Consider applying for YC's Fall 2025 batch! Applications are open till Aug 4

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: