?
avatar deimos7007
deimos7007
8 Nov 2017

Steps to reproduce the issue

  1. Set open_basedir value to 'C:/Inetpub/vhosts/joomla.tld' ('I' must be in uppercase)
  2. Install Joomla! 3.8.1 as usually with default settings
  3. Try to install additional language packs/modules via web UI

Expected result

No issues, additional language/modules installed successfully

Actual result

Warning
JFolder::create: Path not in open_basedir paths.
Aborting language installation: Failed to create folder [C:\inetpub\vhosts\joomla.tld\httpdocs/language/id-ID]
Package Install: There was an error installing an extension: site_id-ID

Error
Error installing language
screen shot 2017-11-08 at 06 14 02

System information (as much as possible)

...
Open basedir C:/Inetpub/vhosts/joomla.tld;C:\Windows\Temp
...
systeminfo-2017-11-08T06_16_10+00_00.txt

Additional comments

Changing open_basedir to 'C:/inetpub/vhosts/joomla2.tld' ('i' must be in lowercase) resolved the issue

Votes

# of Users Experiencing Issue
0/1
Average Importance Score
5.00

avatar deimos7007 deimos7007 - open - 8 Nov 2017
avatar joomla-cms-bot joomla-cms-bot - labeled - 8 Nov 2017
avatar brianteeman
brianteeman - comment - 8 Nov 2017

That is a server php.ini setting and not a setting inside joomla

avatar franz-wohlkoenig franz-wohlkoenig - change - 8 Nov 2017
Status New Closed
Closed_Date 0000-00-00 00:00:00 2017-11-08 08:06:12
Closed_By franz-wohlkoenig
avatar joomla-cms-bot joomla-cms-bot - change - 8 Nov 2017
Closed_By franz-wohlkoenig joomla-cms-bot
avatar joomla-cms-bot joomla-cms-bot - close - 8 Nov 2017
avatar franz-wohlkoenig
franz-wohlkoenig - comment - 8 Nov 2017

Closed as no Core-Issue.


This comment was created with the J!Tracker Application at issues.joomla.org/tracker/joomla-cms/18523.

avatar joomla-cms-bot
joomla-cms-bot - comment - 8 Nov 2017
avatar deimos7007
deimos7007 - comment - 8 Nov 2017

I've analyzed the code in /libraries/joomla/filesystem/folder.php.
JFolder::create() examines, wether each entry of the open_basedir setting in php.ini is a part of the currently compared path. Because the compare is implemented case sensitive, even on Windows, it will fail when using a different letter capitalization in my open_basedir directive vs. the file system! Could you please check it?


This comment was created with the J!Tracker Application at issues.joomla.org/tracker/joomla-cms/18523.

avatar brianteeman
brianteeman - comment - 8 Nov 2017

I would say that it is the expected behaviour that if your server is set to use a folder called CAPITALS it will not work if the folder is called CaPitals
This is a php.ini setting and not a joomla setting

avatar deimos7007
deimos7007 - comment - 8 Nov 2017

All Windows systems are case insensitive, so why I cannot use 'Inetpub' instead of 'inetpub' in php.ini? All work perfect except modules installation :(
Looks like it could easily be solved by using a case insensitive compare on Windows.


This comment was created with the J!Tracker Application at issues.joomla.org/tracker/joomla-cms/18523.
avatar brianteeman
brianteeman - comment - 8 Nov 2017

once again. the setting for openbasedir is in your server php.ini file
it is not in your joomla site - joomla just reads the value
So if you server is configured to look in one place but that place does not exist then joomla cannot find it

avatar deimos7007
deimos7007 - comment - 8 Nov 2017

Another simple example:

<?php
--
print_r([
'd' => __DIR__,
'f' => __FILE__,
'obd'=> ini_get('open_basedir')
]);

web output:

Array

(
[d] => C:\inetpub\vhosts\q.w10-52-37-138.qa.plesk.ru\httpdocs
[f] => C:\inetpub\vhosts\q.w10-52-37-138.qa.plesk.ru\httpdocs\1.php
[obd] => C:/Inetpub/vhosts/q.w10-52-37-138.qa.plesk.ru\;C:\Windows\Temp\
)

Add a Comment

Login with GitHub to post a comment