“I often tell people that setup, configuration,
writing, scripting, and other general development of any website is
better done on the same web server, or at least the same operating
system, that is installed on the web server that the site is going
to be hosted and ran on, rather than developed elsewhere and simply
dropped in place later. It doesn’t matter whether you’re using
Apache or Windows Server, GNU/Linux or Windows.
“I say this because I often see people who write a large amount
of code and/or spend hours writing the HTML, CSS, and JavaScript
for the website’s design in Windows, only to find that the HTML
source doesn’t look right in their text editor on their GNU/Linux
server. This happens because Unix and Unix-like operating systems,
like GNU/Linux and Mac OS, only place a “Line Feed” at the end of
each line, where as in Windows a “Line Feed” and a “Carriage
Return” are placed at the end of each line. So on Windows, files
missing the expected “Carriage Return” read as one long line, on
GNU/Linux, files with an unexpected “Carriage Return” read with
double spacing, which doesn’t make compilers, interpreters, nor
text editors very happy.
“That problem is actually one I hear a lot, and one I had myself
before switching entirely to GNU/Linux, but the problem is bigger
than just extra line breaks. Because the file originated from a
Windows computer and the extra “Carriage Return” displays as “^M”
at the end of each line or as a second line break, I often hear
that PHP code won’t execute or executes very slowly, that their
software for web development on the server won’t open the files or
opens them as corrupt gibberish.”