I've had the same Issues with windows and linux servers.
JFolder::create 'Path not in open_basedir paths'
For Linux 99% of cases are wrong permissions or the tmp and log directories with the wrong path.
The path could be totally wrong because of a migration from a server to another, rarely by default.
It could also happen that have been set /tmp instead of /path/to/joomla/tmp and the path is not specified in the open basedir.
After all the permissions discussions I've noticed that joomla have a simple bug checking the paths on windows servers.
For checking if I have the permissions to create a folder with the actual limitations of open_basedir
I just try to create a folder.
(ex. myfolder.php in the joomla folder)
Code:
<?php
$path = getcwd();
mkdir($path . '\tmp\alfa');
?>
If the folder can be created it means that probably you've encountered this small bug.
The bug happens because joomla converts all the '/' to '\' for windows while could happen the server administrator uses the / instead of the '\' (ex. c:/domains) in the php.ini.
I personally suggest to the joomla team to use only the / for anything and avoid the windows \ for the paths.
I've printed the relevant data to get the culprit of the error
The file is - \libraries\joomla\filesystem\folder.php -
The loop starts at line 208
An example of the data checked by joomla is
Array ( [0] => c:/domains )
C:\domains\yoursite.com\wwwroot\tmp\install_499ca9ec02e7a
Note that in the configuration I've also tried to add the path with / but they are all converted to \
and the C (of c:) is always uppercase.
Another problem is that uppercase C that even if is not really a bug for windows machines should be better to have a conversion of the data in the right manner with stripos instead of strpos (strpos is the optimal for unix systems).
To be Brief after making sure that your folders have the correct permissions just see if the basedir is correct in the php.ini and in your joomla configuration (for the actual joomla they MUST be with \ for windows servers) and that the first letter of the paths (the drive letter) is Uppercase (windows servers) because in most cases in the env variables is Uppercase and joomla checks with Case sentivity (strpos).
Joomla reports always the same errors even if they are different, developers please add some codes. I personally added an error number for each similar error that applies to different things. Maybe joomla needs to send to the joomla system debug more informations about the paths used and checked (I've used the worst manner with the print_r and echoes to debug).
I'm sorry for my poor english and bad explanations.
I hope that in any case you all can solve your problems
