ZF-3769: cannot load files using Zend_Loader::loadFile in windows especially in 64bit


a full path in windows "C:\somewhere\somefile.php" fails the security check, and cannot be used to load files using the Zend_loader (cause of the ":" character)

moreover, in windows 64bit, if files are located under the Program Files directory - which is called "Program files (86)" in the 64bit version - it fails as well (cause of the "(" character)


I am finding this same issue right now. Code to reproduce:


require_once 'Zend/Loader.php';

try {
    Zend_Loader::loadFile('C:\\Program Files\\PHP\\PEAR\\Zend\\Version.php');
    echo Zend_Version::VERSION;
} catch (Exception $e) {
    echo 'ERROR DETECTED: ' . $e->getMessage();  // will result in ERROR DETECTED: Security check: Illegal character in filename

Deferring to Wil and Matthew on a solution to this. Seems pretty major.

Fixed in trunk with r12772; presents a minor change in functionality, so will not release until 1.8.0.