[pmwiki-users] Upgrade problem from 2.2.15 to current

Petko Yotov 5ko at 5ko.fr
Sat Jun 25 12:30:18 CDT 2011


On Saturday 25 June 2011 17:26:16, Vince Administration wrote :
> On Jun 24, 2011, at 7:01 PM, Petko Yotov wrote:
> > On Friday 24 June 2011 18:57:26, Vince Administration wrote :
> >> The pages seem  to display fine, but on a few pages (only a few pages)
> >> near the bottom of the correctly displayed page is overlayed the
> >> message
> >> 
> >> PmWiki can't process your request. Permission denied in ...
> >> PmWiki needs to have a  writable wiki.d
> >> Do this  mkdir //wiki.d
> > ...
> > The slashes in "//wiki.d" seem to indicate that the server probably
> > doesn't have "search" (also known as "scan" or "exec") permissions for
> > the parent directories or for the wiki.d directory. In the latter case,
> > a search or a pagelist in the wiki would return nothing.
> 
> As I wrote before, the pages are working correctly.  So I created a
> directory /wiki.d in the root of the file system, the messages
> disappeared, and in this directory I found two files. .notifylist
> and .pageindex
> 
> So these are the files that are causing the problem.   They used to be
> placed in wiki.d  in the pmwiki tree, but something is messing the pointer
> up. I don't know if pmwiki will read them from this location, and I cannot
> leave them there, but at least I know part of the problem.
> 
> Now where is the pointer being mucked up?

If it shows, like you wrote before, two slashes with "//wiki.d", the only 
place I see where it could happen is on the line 554 of pmwiki.php, containing 
the function realpath(). This is from the PHP documentation:

  The running script must have executable permissions on all directories
  in the hierarchy, otherwise realpath() will return FALSE.
  http://php.net/realpath

The message is printed by the function mkdirp() which tries to create a 
directory. This function is not called often - only when a file is being 
written: a wiki page, an uploaded file, a page cache. 

> What I guess I need to do is to create a new copy of pmwiki.php and put in
> a traceback to try to see what file it is trying to write.

Please do -- and dump all local variables from the function mkdirp() before 
the error message appears: $dir, $parent, $bdir, $perms.

Petko



More information about the pmwiki-users mailing list