Welcome to WebmasterWorld Guest from 220.127.116.11
Forum Moderators: bakedjake
I am guessing that a lot of LAMP work is finally hosted on LAMP ISPs but many use Windows development environments (PHP/MySQL/IIS) , is this correct?
Or do you need to have the same setup on your local development machine to do it properly (Linux/Apache)?
If you develop on Windows, Do you test PHP/MySQL locally on Windows or do you generally upload first to test the work?
If you do upload to test , do you have hosted test and live versions of the same site?
Do you also have test and live instances of mySQL or just one instance with test and live databases?
If you test locally on Windows what software packages can you recommend for LAMP development on XP Pro / Vista?
LAMP software is free, so your only cost is hardware, it will run on happily on old hardware, do you have any old boxes laying around?
Alternatively you could set up a virtual machine, I don't know much about this, but you'll probably have to buy the virtualisation software?
I think you are wrong that this is commonly done - except in the case of small sites created by individuals. In most cases, they are already Windows-dependent, and would have to go to the additional expense of an additional computer to run Linux.
If you have a dedicated test server, set it up as close to your target environment as possible. Identical, if you can. Same OS, same OS version, same hardware.
Additional productivity gains can be had by using a Linux desktop as well. I know it's a tough sell, and can be difficult in an office setting, because the office most likely already has a Windows computer at each desk, along with Windows email, word processing, scheduling, etc. etc. etc.
So, going Linux desktop requires an additional computer (and probably monitor) for each developer. It becomes easier the more the office has switched over to web-based services, and perhaps in some cases the Windows machine can be dispensed-with.
For a one-person project, you can combine the desktop and test server. You may still require a second machine, if you are entrenched in Windows tools. But do yourself a favor, and learn the Linux equivalents. There's a learning curve, but you will be happier - especially about how much easier it is to interact with your server(s).
A Linux desktop does require similar firepower to a Windows desktop. In particular, if you want, say, Beryl eye-candy, it will require a similar kind of video card as Vista. (I use a low-end, and now slightly obsolete Nvidia 6800). But in most cases, an old machine will do for a test server - particularly if you will be hosting on a shared machine or VPS.
For example: if the developers are mostly going to be developing for Linux, the best thing is probably to do it at a Linux desktop.
On the other hand, if they are mostly developing for Windows and only doing some Linux work, I would suggest having a Linux server they can develop on,and installing an X server on their Windows PCs. A lot of developers at my last job did this.
Incidentally, it is an X server you want on the client PCs, that is how X-Windows terminology works: it is logically correct, the server is what shares the resources with the client, in this case the desktops are sharing their graphics and input devices so they are the servers as far as X is concerned.