PmWiki Successfully Installed on Windows 2000

I finally decided to use PmWiki as my Wiki engine, just like choosing MovableType for my blog. Before choosing PmWiki, I also successfully installed UseModWiki and OpenWikie on my server, and did some research on MediaWiki. OpenWiki are not so reliable since I frequently meet 500 Server Internal ErrorUseMod is definitely a good choice since the revision function works greatly immediately after installation, but the documentation part is not as good as PmWiki. I specially like the WikiTrails feature, which is not available from other engines.


Windows 2000

Internet Information Server

I hosted my site with my ISP. They have configured PHP for me already.

Install PHP on Windows

Although I didn’t do it for this installation, I have successfully installed PHP engine onto my Windows XP.

  • Download PHP binary for Windows IIS at PHP‘s website:
  • After download, directly double click to run the Windows Installer program.
  • Click Next>, Next> and Next>…. accept all the default setting, except the SMTP screen.
  • Click OK to confirm the success of the PHP installation.

Well. PHP is successfully installed. It is easier and smoother than I expected.

Download PmWiki Code

  • Go to to download the latest version of PmWiki. I downloaded the (153k).
  • Extract the files into a folder.
  • Upload the whole folder to the web server. There is even no need to edit the configuration files before it works. I am using as the destination folder.
  • After upload, just visit the URL of the file pmwiki.php. It is for my case. It simplely works well. This surprised me a lot

Configure PmWiki

Although it does not take any extra effort to let PmWiki up and running, some important steps are neccessary for PmWiki to work on Windows flatform.

Diff and Patch

By default, everything in PmWiki works on Windows except the page revisions (sample). This problem is not obvious, so you may need the following reproduce steps:

  1. Open any page in your installation.
  2. Make any changes by clicking the Edit Page and save it.
  3. Click Page Revisions at the end of the page. It should show the difference betwee the two versions. However, most user will see blank lines and some Restore links. The Restore link does not work since all the versions are shown as the final version – the history of the editing is not perserved as the sample revision page shows.


DiffAndPatchForWindows offers some directions to solve the problem. PmWiki relies on external command of diff and patch for version control. Neither of the command are natively available on Windows. The easiest way, as stated in the article, is to download GNUWin32 diff and patch tools.

  1. Download the two Windows setup files. The SourceForge site of GNUWin32 offers too many choices and it is not strait forward for our installation propose. This is the shortcut:
  2. Double-click each of them to run the setup program.
  3. Accept all the default settings during the setup.
  4. You should find the following files under C:\program files\GnuWin32\bin folder, if you used the default setting:

    46,080 cmp.exe

    92,160 diff.exe

    46,080 diff3.exe

    926,123 libiconv-2.dll

    72,261 libintl-2.dll

    117,760 patch.exe

    48,793 regex.dll

    51,712 sdiff.exe

  5. Upload these files to a folder on your server. I used /scripts/bin. Actually, sdiff.exe, diff3.exe and cmp.exe are optional. The other three .dll are required for diff.exe and patch.exe to run.
  6. Create a local.php at the same folder as PmWiki.php if it is not there yet.

    $SysDiffCmd = ‘E:\\Customer\\Wangjianshuo\\scripts\\bin\\diff.exe ‘;

    $SysPatchCmd = ‘E:\\customer\\wangjianshuo\\scripts\\bin\\patch.exe –silent’;

    Replace the my path with your own path.

    Now your blog should support the revision feature. Please note that all pages modified before diff and patch will permennantly lose the function of roll-back since the diff history was not preserved.

Chinese Support

Chinese is not completely supported in PmWiki, so does other Asia languages. It is because PmWiki, like other Wiki engines, use \xB0 as new line seperator, which falls into the Chinese GB2312 encoding area. So characters with \xB0 as the first byte will be considered as newline and cause problem. Here is the solution (in Chinese).

After the applying the patch, I also downloaded the interface localizatino pack.

Do you know why they are using i18n? It is Internationalization. There is exactly 18 characters between i and n and few people want to spell it out. LOL.

8 thoughts on “PmWiki Successfully Installed on Windows 2000

  1. BTW, I can’t read the chinese page, but there’s an easy way to solve the newline separator problem in PmWiki. In the local.php file, simply set $Newline=”…” to some other character. For example, one can do

    $Newline = ‘\376’;

    and this will change the newline character that PmWiki uses without having to modify pmwiki.php.


  2. The spam comment from has been deleted. I know some person understand how important it is to have as many pages links to their site to improve their Google ranking, but spaming other people’s comment systems are not good practice.

  3. On my Windows/IIS Installation the user/passwort function does not work. Seems something wrong with php or iis configuration?

  4. i have a question. i have installed the pmwiki successfully. but i found the size of sidebar in the left screen will change. sometimes it will turn small, thus the characters has to wrap. when i edit&save it again. it will be ok. sometimes will appear again. what’s the matter? would you please do me favor about this?

Leave a Reply

Your email address will not be published. Required fields are marked *