In upgrading our system from PHP v 5.3.3 to 5.6.x on a apache 2.4.18 server running on Windows 7, we ran into a problem with include files.
We were using full path for our includes i.e.
This ran just fine in v5.3.3 But in newer versions 5.6 and 7, file names that started with an "e" were escaped so it was transmitted like this:
Of course there were two solutions:
1. escape the \ like so:
2. Or perhaps the better option add the path to php.ini file like so:
then the include would look like this:
eliminated the path all together.
My questions are these:
1. What happened between version 5.3.x and 5.6.x?
2. Why are only files starting with the letter "e" affected?
A file like this still worked just fine -
We were using full path for our includes i.e.
Code:
include("c:\webSpace\Library\[B]e[/B]mployee.php")
Code:
include(c:\webSpace\Library[B]m[/B]ployee.php)
1. escape the \ like so:
Code:
include("c:\webSpace\Library[B]\\e[/B]mployee.php")
Code:
include_path = ".;C:\webSpace\Library"
Code:
include("employee.php")
My questions are these:
1. What happened between version 5.3.x and 5.6.x?
2. Why are only files starting with the letter "e" affected?
A file like this still worked just fine -
Code:
include("c:\webSpace\Library\payScale.php")
Comment