01399: Standalone Installation Error

Summary: Standalone Installation Error
Created: 2016-12-20 00:12
Status: Open
Category: Cookbook
From: T'Jean?
Assigned:
Priority: 3
Version: 2.1.13
OS: Windows 7

Description:

After doing a fresh install using the standalone procedure given on The following steps should recreate the error:

1. Follow the steps given on web page http://www.pmwiki.org/wiki/Cookbook/Standalone that are reproduced below:

Installation

Microsoft Windows

  • Download a copy of PmWiki and unzip it into a folder on the local system.
  • Download the server.zipĪ” package and unpack its contents into a folder called server/ within the PmWiki main folder. This package includes a copy of the PHP executables, so you don't need to install that separately.
  • Execute the pmwikiserv.bat file in the server/ folder.
  • Open a web browser to http://localhost/wiki -- you should see the PmWiki default home page.

2. Downloads were obtained by clicking the links in the above instructions on 12/19/16 at approximately 2030 hours, Central Time, USA.

3. The installation directory in my case was P:\_PortApps\PMWiki, where P: is a portable hard drive connected via USB. The following error message was displayed:

Parse error: parse error, unexpected T_STRING, expecting T_OLD_FUNCTION or T_FUNCTION or T_VAR or '}' in P:\_PortApps\PMWiki\pmwiki.php on line 996

4. The code beginning on line 996 is:

  public function __construct($d='$WorkDir/$FullName', $w=0, $a=NULL) {
    $this->PageStore($d, $w, $a);
  } 

5. No other reports of this problem could be found.

T'Jean? December 20, 2016, at 12:16 AM

This __construct function was added for PHP 7 compatibility. The standalone recipe zip archive contains a very old PHP version. An older PmWiki version may work better with that specific PHP, try pmwiki-2.2.85.zip or an earlier one. --Petko December 20, 2016, at 01:02 AM

Response from T'Jean on 12/20/16 at 0939 hours, CDT, USA:

Petko, thank you for your prompt and accurate response.

1. I downloaded pmwiki-2.2.85.zip as you suggested.

2. Next, I found that copying just pmwiki.php from version 2.2.85 over the previously downloaded pmwiki.php from version 2.2.92 resulted in errors.

3. So I replaced pmwiki-2.2.92 in its entirety by pmwiki-2.2.85, and there were no errors.

I am just starting to learn how to use pmwiki, so it probably will take some time before having its latest version will affect my work. However, more advanced users might need the lastest version, so it could be worthwhile if you can fix this problem when you have time. Please post the news here when you make the changes.

My thanks to you and the other developers who have made this marvelously compact and portable system available,

T'Jean Retired professor from PM's alma mater :-)


FWIW I think the Standalone recipe solves a problem that no longer exists because PHP itself comes with built-in webserever capability now. It's single-threaded, but it should work fine for a desktop wiki, and will almost certainly support the current PmWiki release. You can probably do this, for example (untested):

  php -S localhost:8000

More here: https://secure.php.net/manual/en/features.commandline.webserver.php

See also:

XAMPP/XAMPP Portable

 https://www.apachefriends.org/ 
 https://sourceforge.net/projects/xampp/files/latest/download
 http://portableapps.com/apps/development/xampp

USBWebserver

 http://www.usbwebserver.net/en/

HaganFox December 20, 2016, at 01:12 PM

The person probably needs detailed instructions about how to get/install the PHP executable, where to place the PmWiki files, etc. I don't have a Windows machine nearby at the moment but when I got my hands on one, I'll document it -- unless someone else does it in the meantime. --Petko December 20, 2016, at 02:06 PM

Response from T'Jean on 12/20/16 at 1720 hours, CDT, USA:

Petko, you are correct with regard to my need for detailed instructions! As reported above, your suggestion resulted in localhost\wiki loading properly. However, this afternoon when I tried to work with that initial page, I found that its links could not be followed. When I returned to this page to report that problem, I was amazed and appreciative to see that more persons had already attempted to help.

I went to the PHP site to examine the possibility of my installing PHP and thereby getting PMWiki to run. It appeared to me that the instructions for PHP's installation do not yet recognize that PHP 7+ has a built-in server. My level of ignorance is such that it does not seem prudent for me to proceed and hope that I somehow get everything just right.

If you should have the time to generate appropriate instructions for someone at my level of understanding, then I will attempt to get PMWiki working in a standalone mode and provide you with feedback. In the meantime, it might be helpful note that the current procedure is now outdated.

T'Jean

PmWiki + XAMPP

Installation

  1. Download and run the XAMPP installer.
    • Only install Apache and PHP (uncheck the other modules).
    • Accept the default location (C:\xampp)
    • Start the XAMPP Control Panel (by leaving the box checked).
    • Optionally pin the Control Panel to your taskbar.
  2. Start Apache. Adjust your firewall rules if it's necessary/appropriate.
  3. Download and install PmWiki.
 C:\xampp\htdocs\pmwiki\pmwiki.php

corresponds to

 http://localhost/pmwiki/pmwiki.php

Uninstallation

  • Delete the directory.

HaganFox December 20, 2016, at 08:09 PM

Run Apache at Login

Addendum: Hmm... The instructions above may not be the best way to install XMPP. Specifically, XMPP Control Panel wouldn't let me run XMPP's Apache as a service.

FWIW, you can automatically start Apache at login by creating a one-line batch file (Start-Apache.bat) that contains this:

 @start /min C:\xampp\apache_start.bat

Put the batch file (or a shortcut to it) in your Startup folder. Closing the minimized window stops Apache.

Tip: Open your user's Startup folder with Windows Key + r, then run this command: shell:startup

HaganFox December 20, 2016, at 09:30 PM

Response from T'Jean on 12/21/16 at 1035 hours, CDT, USA:

Thank you for generously taking the time to provide the above information. My original attraction to PMWiki's standalone version was its being a "marvelously compact and portable system," since my intended use scenario was to install it on a portable hard drive and run it on various machines while developing a website. An important component of this intended use was that no additional installations and configurations, as is necessary with XAMPP, were required; and I am still unable to do this with current versions of PMWiki. Hopefully, your kind response will be useful to others who do not share my specific objectives. Thanks,

T'Jean

I agree that the extra heft (despite it not being extremely hefty) isn't appealing. It should only require a bare minimum PHP installation to accomplish.

HaganFox December 21, 2016, at 06:31 PM

I can get PmWiki to run using marvelously compact bare-minimum PHP. I'm not sure what the limitations may be, however.

http://haganfox.net/pmwfiles/server-too.zip

HaganFox December 21, 2016, at 07:28 PM

Response from T'Jean on 12/23/16 at 1332 hours, CDT, USA

Your ability to run PmWiki w/ only a bare-minimum PHP installation might be of interest to a well defined group (that includes me): those ignorant of most modern web software who would like to use a good wiki to generate static web sites within their level of understanding. In my case, the intended site topic is how to use low or no-cost applications suitable for individuals and small offices. It seemed that PmWiki would be a good developmental tool to generate a site on my PC which I would then FTP to a more accessible location.

Years ago, I coded several reasonably sized DOS programs (2-3K lines of code) on a PC to enhance the classes that I taught, and set up a simple web site on my PC at work consisting of hand-coded HTML, so I am not foreign to computer applications. However, my knowledge of system-level programming is extremely limited, particular in today's rapidly advancing era.

Petko observed that I probably would need a lot of hand-holding, and he was right. However, that is not something that persons focused on advancing the-state-of-the-art enjoy doing. Documentation is of more interest to teachers and those of a similar mentality have a lot to offer those even less advanced than they. However, most teachers are unable to access really useful free or low-cost site development tools unless most of the installation steps have been done for them. All it takes is one missing or unclear instruction to shut them down. Those steps seem to be fairly trivial or self-explanatory to one versed in them, but they are a barrier to a person ignorant of them who nonetheless can make contributions in other areas.

T'Jean

I've spent time and effort over the years to "reduce the steepness of the PmWiki learning curve" for people who might need a lot of hand-holding because they're not web software wizards. To that end, I have created a project with most (nearly all) of the installation steps done for you.

  http://www.QuickWikiCMS.com/

The aim is to have "the expertise built in" (the barriers lowered) so you can focus on your website rather the the software that runs it.

HaganFox December 23, 2016, at 03:12 PM

A QuickWikiCMS installation appears to run properly using my modified Standalone recipe from the link above. Here's a copy that works:

 http://www.haganfox.net/temp/wiki-site.zip
  1. Unzip the archive.
  2. Add passwords (by editing local/config.php).
  3. Double-click pmwikiserv.bat.

HaganFox December 23, 2016, at 03:59 PM

Here's a copy that works better. To recap, this is a pre-configured bundle that uses PHP's minimalist single-threaded built-in web server running locally (on "localhost" only).

 http://www.haganfox.net/pmwfiles/QuickWikiCMS-WinDesktopDemo.zip
  1. Unzip the archive
  2. Double-click "pmwikiserv.bat" in the "server" folder.

The edit password is "demo".

HaganFox December 27, 2016, at 02:37 PM