Click here to Skip to main content
15,894,896 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
See more:
Hello all,

I'm developing a web site with my Windows 7 computer, I've installed EasyPHP (a php server with mysql... like xampp).

The problem I'm having here is that there are plenty of files involved in the site and Windows is not case sensitive so if for any reason I've made any mistake in the name case windows loads it without problem and I don't notice that problem.

When I upload the site to the linux production server then I'm facing the problem that all the links that point to an incorrect case file point to the 404 page...

Is there any way to configure EasyPHP or windows to become case sensitive? I can't change the behavior of the remote server...

I've been looking at the Internet for a while looking for an answer to my question and it seems that it is not possible, but anyway, I've tought on asking it here and cross fingers... I would like to avoid to put a linux virtual machine only to develop the web site.

So in order to summarize:

1) the production server is linux.
2) the working computer is windows.
3) windows handles files as non case sensitive. Linux does it as case sensitive.
4) when I port my local web to the production server I got problems due to the case sensitive linux way to work.
5) I would like to know if I can configure the working computer to react like linux in that case sensitive issue to avoid the need of a virtual machine.

As always, thank you in advance! :thumbsup:
Posted
Updated 2-Mar-12 0:49am
v2
Comments
Schehaider_Aymen 2-Mar-12 6:47am    
do u wanna avoid the use of a virtual machine or the use a linux virtual machine or what exactly ???
Joan M 2-Mar-12 6:50am    
Updated the question, added a summary, probably it is clearer now.

You could add an include to your source files to warn you of any case mismatches:

PHP
<?php
$filename = basename($_SERVER['SCRIPT_FILENAME']);
$request = basename($_SERVER['SCRIPT_NAME']);

if($filename != $request)
  die('Case of filename and request do not match!');


[edit] ... this doesn't help with links to non-PHP files though.
 
Share this answer
 
v2
Windows is case-insensitive in file names but preserves the case of the nomenclature.
 
Share this answer
 
You can specify that NTFS be case-sensitive, but that might break other apps. Best practice ina multi-platform environment is to simply add code to normalize the folder and file names INTERNALLY to your application..
 
Share this answer
 
Use a virtual environment (you can use virtualbox which is free and supports both 32-bit and 64-bit) or simply always use lowercase filenames preventing this.

Good luck!
 
Share this answer
 

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900