[pmwiki-users] [PATCH] Issue with pmwiki and PHP virtual() function (SSI)

Mikael Nilsson mini at nada.kth.se
Wed Nov 9 17:23:58 CST 2005


My main site uses SSI, even recursively in some cases, to build the page
layout (essentially includes header, footer and meta tags).

I was trying to get pmwiki installed, and created a new skin that would
follow the rest of the site *exactly*. This is actually not too hard -
just using the same template I'm using for the rest of my site, and
replacing the page text with <!--PageText-->.

To illustrate: in the header I use <!--function:includemeta -->, which
is defined in config.php:

function includemeta($x) {

which will include the following snippet from the meta.html file:

<link rel="stylesheet" href="/kmr/kmrstyle.css" type="text/css">
<link rel="shortcut icon" href="/kmr/favicon.png">

This corresponds exactly to the way I use SSI on the static pages:

<!--#include virtual="/kmr/meta.html"-->

And similar for header and footer.

Now, in order to show my problem, try adding the above to the default
skin (pmwiki.php), in the <head>.

When visiting the HomePage, I get the wiki site, plus:

Warning: mkdir(wiki.d): Permission denied in /var/www/kmrwiki/pmwiki.php
on line 366
PmWiki can't process your request

PmWiki needs to have a writable wiki.d/ directory before it can
continue. You can create the directory manually by executing the
following commands on your server:

      mkdir /var/www/kmrweb/kmr/wiki.d
      chmod 777 /var/www/kmrweb/kmr/wiki.d

Then, reload this page.

Or, for a slightly more secure installation, try executing

      chmod 2777 /var/www/kmrweb/kmr

on your server and following this link. Afterwards you can restore the
permissions to their current setting by executing

      chmod 2775 /var/www/kmrweb/kmr

We are sorry for any inconvenience.



The web is in /var/www/kmrweb, the wiki is in  /var/www/kmrwiki.
Somehow, I'm guessing, the virtual() function changes the current
working dir of the PHP session, meaning that


no longer points to /var/www/kmrwiki/wiki.d (which has the right
permissions), but to /var/www/kmrweb/kmr/wiki.d.

However, setting


seems to work. Almost.... I can view and edit wiki pages, but page diffs
are no longer displayed... So it seems more changes are needed. I tried 
to put together a patch (attached), replacing the above definition and 
some others with an absolute path, but that only works for my site and 
path... and I might have missed any number of situations.

Anyway, I'm contributing this in the hope that someone here knows how it 
should really be done.


Plus ça change, plus c'est la même chose

-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: pmwiki.diff
Url: /pipermail/pmwiki-users/attachments/20051110/da30ee3c/attachment.asc 
-------------- next part --------------
A non-text attachment was scrubbed...
Name: mini.vcf
Type: text/x-vcard
Size: 244 bytes
Desc: not available
Url : /pipermail/pmwiki-users/attachments/20051110/da30ee3c/attachment.vcf 

More information about the pmwiki-users mailing list