FAQ
This page will attempt to summarize some of the more commonly asked questions. The answers are on the corresponding pages (see link). If you have a question which isn't answered here, you can leave your question on the Questions page or search for documentation using the search facility. More documentation can be found on the documentation index page.
Page History
Is there a way to remove page history from page files?
1. Administrators can clean page histories using the Cookbook:ExpireDiff recipe.
2. Administrators with FTP file access can download individual pages from the wiki.d directory, open them in a text editor, manually remove history, and re-upload the files to wiki.d/ directory. Care must be exercised, when manually editing a page file, to preserve the minimum required elements of the page and avoid corrupting its contents. See PageFileFormat#creating.
3. Edit the page. Select all the contents of the edit text area and cut them to the clipboard. Enter delete into the text area and click on the save and edit button. Select all the contents of the edit text area and paste the contents of the clipboard over them. Click on the save button. This will remove all of the page's history up to the final save in which the pasted material is re-added.
How can I restrict viewing the page history to people with edit permission?
In the local/config.php file, set
$HandleAuth['diff'] = 'edit';
PmWiki Installation
How do I make pmwiki.php the default page for a website? Should I rename pmwiki.php to index.php?
Renaming pmwiki.php is not recommended. Instead, create an index.php file that contains the single line:
<?php include_once('pmwiki.php');
You may also want to check Cookbook:CleanUrls.
Why does pmwiki.org appear to have a directory structure rather than "?n=pagename" in urls?
Pmwiki.org uses a variant of Cookbook:CleanUrls.
Is it possible to move wiki.d to /tmp/persistent/wiki.d (a new sourceforge rule)?
Sourceforge suggests moving everything to /tmp/persistent/new-folder-of-your-choice and creating a symbolic link to the new folder on /tmp . It works -- see Cookbook:SourceForgeServers.
How can I run PmWiki on a standalone (offline, portable) machine ?
See Cookbook:Standalone.
Local Customizations
How do I get the group / page name in a local configuration file (e.g. local/config.php)?
Use the following markup in pmwiki-2.1.beta21 or newer:
## Get the group and page name $pagename = ResolvePageName($pagename); $group = PageVar($pagename, '$Group'); $name = PageVar($pagename, '$Name');
Can I remove items from the wikilib.d folder on my site?
Yes, the files in wikilib.d/ can be safely removed. They'll reappear again when you upgrade, however. If you want to permanently configure your site so that these distribution pages don't appear, try:
$WikiLibDirs = array(&$WikiDir);
How do I customize my own 404 error page for non-existent pages?
To change the text of the message, try editing the Site.PageNotFound page.
Web Feeds
How can I use the RSS <enclosure> tag for podcasting?
For podcasting of mp3 files, simply attach an mp3 file to the page with the same name as the page (i.e., for a page named Podcast.Episode4, one would attach to that page a file named "Episode4.mp3"). The file is automatically picked up by ?action=rss and used as an enclosure.
The set of potential enclosures is given by the $RSSEnclosureFmt array, thus
$RSSEnclosureFmt = array('{$Name}.mp3', '{$Name}.wma', '{$Name}.ogg');
allows podcasting in mp3, wma, and ogg formats.
How to add "summary" to the title in a rss feed (ie. with ?action=rss)?
Add this line in you local/config.php
$FeedFmt['rss']['item']['title'] = '{$Group} / {$Title} : $LastModifiedSummary';
How to add feed image?
Add the following to local/config.php (this example is for ?action=rss):
$FeedFmt['rss']['feed']['image'] = "<title>Logo title</title> <link>http://www.example.com/</link> <url>http://www.example.com/images/logo.gif</url> <width>120</width> <height>60</height>";
How do I insert RSS news feeds into PmWiki pages?
How can I specify default feed options in a configuration file instead of always placing them in the url?
For example, if you want ?action=rss to default to ?action=rss&group=News&order=-time&count=10, try the following in a local customization file:
if ($action == 'rss')
SDVA($_REQUEST, array(
'group' => 'News',
'order' => '-time',
'count' => 10));
Troubleshooting
Why am I seeing strange errors after upgrading?
Make sure all of the files were updated, in particular pmwiki.php.
This question sometimes arises when an administrator hasn't followed the advice, which used to be less prominent, on the installation and initial setup tasks pages and has renamed pmwiki.php instead of creating an index.php wrapper script. If you have renamed pmwiki.php to index.php, then the upgrade procedure won't have updated your index.php file. Delete the old version and create a wrapper script so it won't happen again.
Sometimes an FTP or other copy program will fail to transfer all of the files properly. One way to check for this is by comparing file sizes.
Be sure all of the files in the wikilib.d/ directory were also upgraded. Sometimes it's a good idea to simply delete the wikilib.d/ directory before upgrading. (Local copies of pages are stored in wiki.d/ and not wikilib.d/.)
I'm suddenly getting messages like "Warning: fopen(wiki.d/.flock): failed to open stream: Permission denied..." and Cannot acquire lockfile"... what's wrong?
Something (or someone) has changed the permissions on the wiki.d/.flock file or the wiki.d/ directory such that the webserver is no longer able to write the lockfile. The normal solution is to simply delete the .flock file from the wiki.d/ directory -- PmWiki will then create a new one. Also be sure to check the permissions on the wiki.d/ directory itself. (One can easily check and modify permissions of the wiki.d/ directory in Filezilla (open-source FTP app) by right-clicking on the file > File attributes)
My links in the sidebar seem to be pointing to non-existent pages, even though I know I created the pages. Where are the pages?
Links in the sidebar normally need to be qualified by a WikiGroup in order to work properly. Otherwise they will point to whatever group you happen to be viewing the sidebar in.
Also: Make sure you type SideBar with a capital B.
Why am I seeing "Warning: Cannot modify header information - headers already sent ..." messages at the top of my page.
If this is the first or only error message you're seeing, it's usually an indication that there are blank lines or spaces before the <?php or after the ?> in a local customization file. Double-check the file and make sure there aren't any blank lines or spaces before the initial <?php. It's often easiest and safest to eliminate any closing ?> altogether.
If the warning is appearing after some other warning or error message, then resolve the other error and this warning may go away.
Why is PmWiki prompting me multiple times for a password I've already entered?
Usually this is an indication that the browser isn't accepting cookies, or that PHP's session handling functions on the server aren't properly configured. If the browser is accepting cookies, then try setting $EnableDiag=1; in local/config.php, run PmWiki using ?action=phpinfo, and verify that sessions are enabled and that the session.save_path has a reasonable value. Note that several versions of PHP under Windows require that a session_save_path be explicitly set (this can be done in the local/config.php file).
I edited config.php, but when I look at my wiki pages, all I see is "Parse error: parse error, unexpected T_VARIABLE in somefile on line number."
You've made a mistake in writing the PHP that goes into the config.php file. The most common mistake that causes the T_VARIABLE error is forgetting the semi-colon (;) at the end of a line that you added. The line number and file named are where you should look for the mistake.
Searches and pagelists stopped working after I upgraded -- no errors are reported, but links to other pages do not appear (or do not appear as they should) -- what gives?
Be sure all of the files in the wikilib.d/ directory were also upgraded. In particular, it sounds as if the Site.PageListTemplates page is either missing (if no links are displayed) or is an old version (if the links do not appear as they should).
Some of my posts are coming back with "403 Forbidden" errors or "Not Acceptable"? This happens with posts containing "wget", "curl", "file(" or ...
Your webserver probably has mod_security(approve sites) enabled. The mod_security "feature" scans all incoming posts for forbidden words or phrases that might indicate someone is trying to hack the system, and if any of them are present then Apache returns the 403 Forbidden error. Common phrases that tend to trigger mod_security include "curl ", "wget", and "file(", although there are many others.
Since mod_security intercepts the requests and sends the "forbidden"
message before PmWiki ever gets a chance to run, it's not a bug in PmWiki, and
there's little that PmWiki can do about it. Instead, one has to alter the
webserver configuration to disable mod_security or reconfigure it to allow
whatever word it is forbidding. Some sites may be able to disable mod_security
by placing SecFilterEngine off in a .htaccess file.
I get the following message when attempting to upload an image, what do I do?
Warning: move_uploaded_file(): SAFE MODE Restriction in effect. The script whose uid is 1929 is not allowed to access /home/onscolre/public_html/pmwikiuploads/Photos owned by uid 33 in /home/onscolre/public_html/pmwiki/scripts/upload.php on line 198
PmWiki can't process your request
?cannot move uploaded file to /home/onscolre/public_html/pmwikiuploads/Photos/FoundationPupilsIn1958.jpeg
We are sorry for any inconvenience.
Access Keys
How can I change the keyboard shortcuts for editing and saving a page?
See PmWiki.AccessKeys.
Skin Templates
How do I customize the CSS styling of my PmWiki layout?
See Skins for how to change the default PmWiki skin. See also Cookbook:Skins, where you will find pre-made templates you can use to customize the appearance of your site. You can also create a file called local.css in the pub/css/ directory and add CSS selectors there (this file gets automatically loaded if it exists). Or, styles can be added directly into a local customization file by using something like:
$HTMLStylesFmt[] = '.foo { color:blue; }';
Where can the mentioned "translation table" be found for adding translated phrases?
