I'm using private upload on several sites and can confirm that this works. So no need to file a bug issue.
At this stage I imagined that these settings would cause an uploaded file to go inside the
../private
directory. Nope, instead they go into public directorysites/default/files
. Was my assumption wrong?
No. This is indeed what should have happened. The weird bit is that you say that uploaded files (still) go into sites/default/files
. Where is Drupal picking up that from if you've set the private upload directory to be ../private
and selected the private upload method?
Just to make sure, I set up a site to your exact specifications. I.e. with Drupal root in /demo/drupal
and the private directory in /demo/private
(where /
is the Unix file system root).
I first tested it using the absolute path (i.e. /demo/private
as the private upload directory). That worked without a glitch.
I then re-tested it using the relative path to the same directory (i.e. ../private
). That also worked without a glitch.
I also noted that Drupal threw the following error if I tried to input a non-existing directory as the private upload directory:
Warning: mkdir(): Permission denied in drupal_mkdir()
(line 2341 of /demo/drupal/includes/file.inc).
The directory /demo/bogus does not exist and could not be created.
In other words: If Drupal lets use ../private
as the private upload directory without throwing this error, your setup should be correct for private upload.
I am sorry not to be of more help. It sounds as you're doing the right ting when setting this up, and I cannot see why it does not work.
What I usually do in cases like this, is to start with a fresh default installation of the core. This usually works. I then re-introduces the modules of my target one by one, testing after each, to identify the module that triggers the problem.