For a seamless installation I suggest you to use [EasyPHP] or [phpDev] (Apache, PHP, MySQL and [phpMyAdmin] already configured!)
If you don't have PERL installed go to TaviNoPerl some more links: $TempDir $DiffCmd [GNU Win32 diff -program ]
10 minutes and your system is up :-)

Here if you want to install PerlThenTavi.

If you have good connection, it will be done about 15 minutes ;)


Theme: Tavi0.25 PAH, I added this section to update som info on this page, thereby hopefully helping the Tavi crew.

Or you might just get the same [gnudiffwin32.zip] (GNU diffutils version 2.7) from here.
This diff does not need anything else than windows. No Cygwin or anything else, only one simple file.
Using this diff is simple. An example follows: $DiffCmd='D:/webspace/wiki/diff.exe';
An example: $TempDir = 'D:/webspace/wiki/tmp';
It' be nice if default-scripts included tests for OS-versions, and acted according to it, but then
again that would not give the endusers/admin all the fun by searching for the errosrs.
One sideeffect of this is that I now know the Tavi-code better than if there were no problems ;)
I have customised the NoExecuteOnServer-script and it can be found on http://www.vikinc.net/wiki/index.php?page=ModifiedWiki
I use his php-diff function, But the rest of the script is based on the diff.php that follows Tavi version 0.25, otherwise the NoExecuteOnServer and my version is very similar. I have added class-tags to <td> so i can have colorcoding. If you want to see, go to the vikinc-links in these paragraps and then hit the View document history link.
NB. on [PAH] I have collected all links I could find on diff-utils and solutions.

Oops...it is simpler to make the Diff of Tavi works on Win32 with the WinDiff? from PmWiki:

If you use Tavi on a WinXP box and find neither [GNU utilities for Win32] nor [Gnuwin32 project] work with Tavi, you suould give [WinDiff from PmWiki] a try.

an example of what you need in config.php is:

$DiffCmd = 'd:\\minixampp\\htdocs\\pmwiki-0.6.20-utf8\\windiff\\diff.exe';
$TempDir = 'd:\\minixampp'; 

--AaronLaw , 2004-06-26 11:14, with Tavi0.25


I have successfully installed 'Tavi version 0.10 on a Microsoft Windows server using the Xitami web server. I suspect the effort required is no different for version 0.20. Here's what I did:

up only in Windows:

  1. Installed [Cygwin], a free Unix utility package, on my system.
  2. Configured 'Tavi to use the diff utility in CygWin to compute differences. In version 0.20, this is set by the $DiffCmd configuration variable. (You'll also have to make sure that $TempDir is a valid Windows directory.) or use [gnuwin32 diffutil port] --AiForge
  1. Modified 'Tavi to use rand instead of posix_getpid to compute the temporary file suffixes (unfortunately, PHP on Windows doesn't even implement a fake version of posix_getpid). In version 0.20, you must edit lib/diff.php to make this change; comments in the file direct you as to what to change.

You can install 'Tavi on windows even if you don't do the above; however, if you do so, the history and diff features will not work. -- ScottMoonen

I can use "View document history" and "Compute difference" on WIn32 now ( a cmd/command-line-window will pop up when pressing either of the buttons ) , however, there is no green box and yellow box appear on the "Computer difference" page even though the2 pages are not the same. What should I do for getting the diff really up? (I think the problem is that the computed result of the program diff is not return/import to/into Tavi, am I wrong?) --AaronLaw

There's another little problem that shows up only in Windows:

Warning: unexpected error in date() in wiki\parse\html.php on line 70

On any document that hasn't ever been edited. That makes some sense since it's never been edited, but Unix gives some date, whether or not it's right.

Try putting this code at the beginning of html_time in parse/html.php:
if($timestamp == '') { return 'never'; }

A more elegant way would be:

if($timestamp == '') {
$time = time();
} else {
$time = mktime(...
...
}

Using tavi 0.22:

Even if the line of posix_getpid(); has been removed completed, things are the same. What's happen? --AaronLaw

Using IIS in CGI mode may mean that users cannot set their preferences owing to the following bug

[Microsoft 176113 BUG: Set-Cookie Is Ignored in CGI When Combined With Location]

A quick & dirty fix is to edit action/pref.php as below

(following the setcookie line, comment out the header line & then add the print lines)

setcookie($CookieName, $value, time() + 157680000, "/", "");
//header("Location: $referrer");
print '<p>Thank you, your new preferences have been set.<br>'
. 'Please <a href="' . $referrer . '">click here to continue</a>.</p>';