--- a/php.nette2/src/org/netbeans/modules/php/nette2/Nette2FrameworkProvider.java +++ a/php.nette2/src/org/netbeans/modules/php/nette2/Nette2FrameworkProvider.java @@ -97,9 +97,9 @@ if (!result) { FileObject sourceDirectory = phpModule.getSourceDirectory(); if (sourceDirectory != null) { - FileObject bootstrap = sourceDirectory.getFileObject(Constants.COMMON_BOOTSTRAP_PATH); + FileObject bootstrap = getFileObject(sourceDirectory, Constants.COMMON_BOOTSTRAP_PATH); result = bootstrap != null && !bootstrap.isFolder() && bootstrap.isValid(); - FileObject config = sourceDirectory.getFileObject(Constants.COMMON_CONFIG_PATH); + FileObject config = getFileObject(sourceDirectory, Constants.COMMON_CONFIG_PATH); result = result && config != null && config.isFolder() && config.isValid(); } } @@ -181,4 +181,20 @@ return new Nette2CustomizerExtender(phpModule); } + /** + * Try to get a FileObject with correct filename case. See bug 238679. + * + * @param parent Parent FileObject. + * @param relPath Relative path, separated by slashes. + */ + private FileObject getFileObject(FileObject parent, String relPath) { + File parentFile = FileUtil.toFile(parent); + if (parentFile != null) { + String nativePath = relPath.replace('/', File.separatorChar); + File file = new File(parentFile, nativePath); + return FileUtil.toFileObject(FileUtil.normalizeFile(file)); + } else { + return null; + } + } } --- a/php.symfony2/src/org/netbeans/modules/php/symfony2/commands/Symfony2Script.java +++ a/php.symfony2/src/org/netbeans/modules/php/symfony2/commands/Symfony2Script.java @@ -117,7 +117,13 @@ // perhaps deleted app dir? fallback to default and let it fail later... return null; } - return appDir.getFileObject(SCRIPT_NAME); + File appDirFile = FileUtil.toFile(appDir); // #238679 + if (appDirFile != null) { + File file = new File(appDirFile, SCRIPT_NAME); + return FileUtil.toFileObject(FileUtil.normalizeFile(file)); + } else { + return null; + } } /**