PHP – Areas of Linux a PHP Developer Should Know

apachelamplinuxPHP

I've developed a website using PHP but I implemented it on Windows OS and hosted it on Windows server.
I just searched the PHP job market to know the on-going technology requirement and to keep my knowledge up-to-date accordingly with the job market.
I see more are asking for LAMP stack. I understand the sort of skills required for a developer in PHP and MySQL. But coming to the Linux and Apache what kind of the skills exactly companies expect from a developer?

On what should I be focusing in case of Linux, Apache whilst developing my website using these LAMP stack?

I am going to develop a new website and want it to be using LAMP. But I want to know what difference it makes?

Why LAMP stack got more demand in the job market compared to WAMP ?

Edit: Sorry I thought my question is creating confusion … so I put my question in different words as What and all the areas of a Linux a PHP developer should know about? (Like just commands of it or something advanced)

Note: I am Linux newbie

Best Answer

As far as why LAMP has a bigger mindshare (if not market share) than WAMP: probably because the LAMP components don't have licensing costs. That makes getting started cheaper. Cheap Linux hosting has to be cheaper than cheap Windows hosting just for that reason alone. The free/libre nature of LAMP makes it possible to just try it out for free. From there, everything else is an accident of history, although IIS and Windows have historically had more and more severe security problems than Apache and Linux.

As far as what you need to know as a developer:

  1. Familiar with shell programming.
  2. At least moderate ability to use a text editor, probably vi or vim
  3. Familiarity with basic Linux commands ls, ps. Not just to run them, but to understand them, how to find out information about them. (man ls, man ps, the "--help" type options).
  4. Familiarity with the user's view of a linux filesystem. Not just things like "hierachical", "single root", but rather where might you find config files, where does HTML live, where do .php files live, what shows up in /proc/.
  5. Familiarity with the command line interface to the database. "M" in LAMP is for "MySQL", but PostgreSQL is common.
  6. Intimate familiarity with ssh, scp, sftp can help.

If you have spare hardware, even 5 or 6 year-old hardware, you can easily install something like Slackware linux distro. Just getting Slackware up and running will teach a lot, configuring Apache, MySQL and PHP will teach you even more.

Related Topic