[pmwiki-users] PmWiki work directory, re-revisited

Patrick R. Michaud pmichaud at pobox.com
Sat Feb 3 16:22:40 CST 2007


On Sat, Feb 03, 2007 at 10:41:40PM +0100, Petko Yotov wrote:
> > > Lots of (most?) PmWiki administrators aren't familiar with
> > > Unix conventions, such as var/ .  I'd like something that's
> > > going to be quickly understood even by people who are unaware
> > > of the Unix meaning of "var/".  
> >
> > ...and in saying that 'var/' might not be a good choice,
> > I also agree that 'data/' or 'data.d/' might not be good
> 
> How about:
> 
>  wiki.d/  (individual pages here)
>  wiki.d/tmp/ (temporary files related to the pages

I thought about wiki.d/tmp/, but the issue I see is that
this will unnecessarily increase the time required to do
pagelists and searches... as the searching routine will then
start looking in wiki.d/tmp/ for pagefiles.  (Currently the
pagelist routines search wiki.d/ and all of its subdirectories.)

Yes, we could put special markers or code in place to
prevent the special tmp/ directory from being searched...
but then the design feels like a bit of a kludge.  We'd
also have to deal with the potential conflict where a 
site has chosen to organize files in wiki.d/ by wikigroup, 
because there would be a potential conflict between tmp/ and
a wikigroup named 'Tmp'.

> My preference is that the wiki.d/ root directory stays named wiki.d/. If 
> necessary, the pages may be moved to another sub-directory like pages/ or 
> data/.

If think if we say that the top writable directory is 'wiki.d/',
then moving existing page files into a pages/ subdirectory
is almost mandatory.  This might complicate upgrades a bit...
but perhaps it's not too bad.  (And I do think the idea of
using 'wiki.d' for "top writable directory" is worth considering,
for many reasons.)

> And I don't quite understand your worries about Safe mode, in safe mode the 
> php scripts *can* create writeable directories under the document root and in 
> the user's (site's) home directory. 

This has been well documented in the past -- while safe_mode does
allow a PHP script to create a writable subdirectory, it 
often prevents scripts from being able to create files in any
directories thus created.

See http://www.pmichaud.com/safe_mode/mkdir-test.php for proof.

> ... I've used three different hosting 
> providers in Safe mode and never had to manually create a directory. At one 
> place (free.fr) it was not possible to *unlink* directories but creating was 
> ok.

It may be that the providers you're using are also setting
open_basedir or other PHP directives that are allowing writable
directories to be created in safe_mode.  But there are also
a lot of providers that simply turn on safe_mode without
making the other settings, and in those cases it's not possible
for PHP to create directories and write files into those
directories.

Thanks!

Pm



More information about the pmwiki-users mailing list