独立

摘要:允许PmWiki以“独立”模式运行,而不需要Apache等Web服务器
版本:2019-09-10
先决条件:无
维护人员:下午
类别:系统工具

这个食谱回答的问题

是否可以在“独立”模式下运行PmWiki,而不需要像Apache这样的web服务器?

答案

PmWiki是一个PHP web应用程序,因此必须有支持PHP并充当web服务器的东西。下面的文件包含一个特殊的裸机Web服务器应用程序,可用于在另一个Web服务器不可用的地方(例如桌面计算机)运行PmWiki。

另一种可能性是使用从wget获得的wiki的只读镜像和特殊链接转换:

注释

下面的一些解决方案确实使用了Web服务器,因此没有回答上面提出的问题。附加:

安装

Microsoft Windows

  1. 下载PmWiki的副本,并将其解压缩到本地系统上的文件夹中。
  2. 下载服务器-php7.1.3.zipΔ打包并将其内容解压缩到名为服务器/在PmWiki主文件夹中。这个包包含PHP可执行文件的副本,所以您不需要单独安装。
  3. 执行pmwikiserv.bat中的文件服务器/文件夹。
    • 第一次,Windows可能会显示一条消息,表示它阻止程序运行,单击“更多信息”,然后单击“无论如何运行”(实际文本可能因语言和方言而异)。
  4. 打开web浏览器以http://localhost/pmwiki.php--您应该会看到PmWiki默认主页。

就这样!

苹果OS X

请参见棍子上的维基

GNU/Linux和Unix系统

  • 使用发行版的包管理器安装PHP。
  • 如果您没有完整的Web服务器,您可以使用来测试PHP内置服务器(自PHP 5.4以来):
    • 在终端/控制台中输入pmwiki目录
    • 类型php-标准127.0.0.1:8080启动服务器
    • 将浏览器指向http://127.0.0.1:8080/pmwiki.php并使用您的wiki。PHP内置服务器不是Apache的替代品,因此您应该只将其用于测试独立的PmWiki。上面给出的PHP命令阻止任何其他计算机访问。您需要对普通用户帐户(非root)使用大于1024的端口(在本例中为8080)。

另请参见

讨论

我第一次尝试时遇到了两个问题:

  1. 单击批处理文件将打开命令窗口。最初几次我这样做时,窗口中充满了滚动速度如此之快的文本,我看不到它在说什么。关闭Skype可以解决这个问题。如下所述,这是端口80上的冲突,您可以在Skype首选项中禁用端口80。
    1. 2010年4月3日,较新的Skype似乎没有(明显)方法杀死80端口;但停止skype,然后启动PHP,然后启动skype是可行的。关于杀死80人的Skype网页是旧新闻-工具/选项/连接-新菜单没有这样的功能。沃德·克里斯滕森
  2. 一旦这个该死的东西开始运行,就没有办法阻止它。命令窗口完全没有响应,我真的不想杀死PHP。任务管理器中的EXE。在命令窗口中键入Control-C,弹出“终止批处理作业?”对话框。尼尔·赫伯

在使用此配方时,我遇到了两个问题:

  • 只能显示位于“/pub”目录或子目录中的图像。
    现已于2005年10月9日修复--下午
  • 我们又回到了重音字母的可怕问题,无论是在图像名称中还是在目录名称中,当这些图像位于http://localhost(本地主机)域。相同的图像,但通过调用F类文件:///C:/Doc。。。它们在任何外部站点上都是完全可见的。IE和Firefox会出现这种情况,但会显示不同的错误消息。
    PRZ公司

请注意,由于服务器配置的原因,独立版本并不完全正常。您可能会遇到服务器无法识别目录名所引起的问题。此外,设置WikiFarms似乎无法在最小服务器配置下正常工作。请务必查看自述文件。

我能够让它发挥作用,但我不得不将以下几行添加到pmwikiserv.php中。如上所述PHP站点上的评论,这个调整是一种绕过“无法绑定,地址已在使用”错误(我得到的)的方法。我不确定这一调整会有什么负面影响;如果有人对此有任何想法,请告诉我们。这些行正好在行之前,socket_bind($AcceptSocket,$ip,$port);

#重用套接字调整if(!socket_set_option($AcceptSocket,SOL_socket,SO_REUSEADDR,1)){echo socket_strerror(socket_last_error($sock));出口;}

我还可能会补充说,我可以让这个东西在我的闪存盘上运行,没有问题。只需按照上面的说明进行操作,就可以安装本地化的便携式PmWiki。请记住,在不同的计算机上,可能存在与服务器相关的不同设置,您可能会在一台计算机上遇到问题,而不是在另一台上-JonHaupt公司

我在工作时无法在共享驱动器上运行。PM Wiki在我的硬盘上以独立模式运行良好。我通过关闭dos窗口退出了它。我将安装复制到一个共享驱动器上,发现从DOS命令提示符调用时它可以工作。当我在Windows中单击批处理文件\server\pmwikiserv.bat时(没有运行服务器),屏幕上出现了一个可爱的闪光灯,但没有wiki。我想(wethinks?)Windows中的路径设置不正确。帮助?OBTW公司。我的驱动器地图页与我同事的不同,路径不能硬编码。-康加·迈克

更新:我通过对pmwikiserver批处理文件中的路径语句进行硬编码,修复了这个问题-康加·迈克

我认为上述操作解决了问题,我不再需要本地副本。由于文件共享问题,Windows不允许我删除它。我退出了PM Wiki,删除了本地副本,并尝试运行共享副本。瞧!一切都好!对不起,打扰你了。-康加·迈克

有时服务器无法工作,因为服务器使用的端口80已被占用。这样做的一个常见原因是如果你正在运行Skype。要解决此问题,请转到Skype工具>选项>连接,然后取消选中“使用端口80和443作为隔离连接的替代方案”。您可能需要重新启动Skype才能使更改生效。
使用的其他服务器也会出现同样的问题,比如下面的服务器。安诺

Win32捆绑;成功地应用了该配方,但是PHP http服务器有时似乎无法处理大量的同时请求(例如GUIButtons图像)。stderr说socket_write()无法写入套接字[0]:<localized WinSock message here:closed by remote host>.-RasqualTwilight公司

  • 另一种可能的组合是将PmWiki设置为在另一个名为Xampp-Lite的免费且更完整的web服务器下工作。整个包只需要大约90MB,并包含许多优点。访问http://www.apachefriends.org了解更多详细信息。
  • 另一个WAMP(Windows、Apache、MySQL和PHP)软件包被发现于http://www.en.wampserver.com/index.php这是根据GNU GPL(如PmWiki)授权的。根据现场情况”WAMP5会在您的计算机上自动安装Apache 1.3.31、PHP5、MySQL数据库、PHPmyadmin和SQLitemanager。它的主要目的是让您轻松发现PHP的新版本。。"
  • 还有一个是统一服务器(http://www.uniformserver.com/)统一服务器是一个免费的开源WAMP包,允许您在任何基于MS Windows OS的计算机上运行服务器。它很小,可以移动下载或移动,也可以作为生产/现场服务器使用或设置。
    • 它可以很好地处理子文件夹(例如,中的pmwikipmwiki网站文件夹)
    • 微how-to
      • 选择UPX zip,解压缩
      • 解压缩www文件夹中的pmwikiZ: /path_to_/UniformServer/www/pmwiki/pmwiki.php
      • 修改本地/config.php
$ScriptUrl='http://localhost/pmwiki/pmwiki.php';$PubDirUrl='http://localhost/pmwiki/pub';
  • 运行Z: /path_to_/UniformServer/Server_Start.bat
  • 等等,瞧!
  • 使用什么纳米网,一个用PHP编写的HTTP服务器?
    • 它在SUSE框中工作得很好,只是图形速度有点慢。卡洛斯公司2007年4月16日上午06:44

我尝试在Windows XP机器上使用server.zip。我将PmWiki解压缩到本地机器上的一个文件夹中。我将server.zip解压缩到那个文件夹中。我执行了pmwikiserv.bat。当我尝试使用web浏览器http://localhost/wiki,我得到了一个页面,上面写着“没有指定输入文件”。我在PmWiki中找不到关于这个问题的提及。有人能帮我解决这个问题吗---迈克尔·加尔文 哎呀。我刚刚发现我做错了什么。我在我的机器上创建了一个目录,我叫PmWiki。我将pmwiki-latest解压缩到该目录中,解压缩到“pmwiki”下名为“pmwiki-1.2.27”的目录中。然后,我将server.zip解压缩到“PmWiki”。我本应该把它解压缩到pmwiki-1.2.27中。现在一切都很好,运作良好。我会在这一页上留下这条评论,以防其他人也犯同样的该死的错误---迈克尔·加尔文

:太棒了。。。我只是做了同样的事情,如果我没有看到你的帖子,我就会放弃睡觉!也许应该改写一下说明书!!!

:我尝试将pmwikiserv放在一个共享目录中并指向它,甚至更改默认路径等,但没有成功;它必须位于只读存储器说。问题有人成功地让wiki场在本地运行了吗?这样您就可以同时拥有服务器场副本和本地副本来进行测试了?否则,我会写下如何“复制”所有文件、拥有服务器的多个副本等。有点难看。沃德·克里斯滕森


我正在尝试运行pmwikiserv.php,收到如下消息:

PHP警告:dl()[<a href='function.dl'>function.dl</a>]:无法加载动态库“/usr/local/Php-5.2.0/lib/Php/extensions/no-debug-non-zts-20060613/Php_sockets.dll”-/usr/local/Php-5.2.0/lib/Php/extensions/no-debug-non-zts-20060613/Php_sockets.dll:无法打开共享对象文件:第76行的/root/spot/webserver/htdocs/tww/server/pmwikiserv.php中没有这样的文件或目录PHP致命错误:在第77行调用/root/spot/webserver/htdocs/tww/server/pmwikiserv.php中未定义的函数socket_create()

这是什么意思?

---Ierikka公司

我一直在尝试使用pmwikiserv.php,并使其运行,但它似乎无法正常工作:

  • 它似乎错误地分割了标题/正文部分,导致标题部分的开头部分丢失,并且出现了原始html而不是wiki。
  • 我认为pmwikiserv.php第136行的preg_split中使用的正则表达式不太正确,但我对php的了解还不够,无法修复它。

有什么想法吗?

非常感谢,罗兰(2007-10-01)



如果您希望将PmWiki的副本分发到CD上,您可以提供http://www.server2go-web.de/一次尝试

另一个选项是Win、Mac OS X和Linux上运行的Web Server for CD-目前是创建可在3个平台上运行的单个CD的唯一选项。德里克?


我正在尝试使用PHP、apache等在Windows XP PC上进行设置和测试,但在没有它们的PC上使用。我明白了

PHP警告:Unknown():(null):无法初始化模块使用模块API=20060613编译的模块,debug=0,thread-saffety=1PHP使用模块API=20020429编译,debug=0,thread-saffety=1这些选项需要在第0行的未知中匹配

对于如何使其发挥作用,我们将不胜感激。

蒂亚·西蒙

您好,我正在使用XP Home OS。我正在尝试使用独立版本,并遵循了说明。我将pmwiki解压缩到pmwiki-2.1.27,然后将服务器解压缩到pmwiki-2.2.27,然后执行名为“pmwikeserv”的批处理文件,当它运行时,我得到一个命令提示符,显示“c:\pmwiki-2-1.27\server>echo off”,几秒钟后,我得到了一个弹出框,显示:;

“Unknown():(null):无法初始化模块使用模块API=20060613编译的模块,debug=0,thread-saffety=1PHP使用模块API=20020429编译,debug=0,thread-saffety=1“

谁能给我解释一下怎么修这个吗?标准纯度的

答案:

当我试图在一台已经在Apache web服务器上设置了独立wiki的机器上运行该wiki时,我也遇到了同样的问题。为了解决这个问题,我将PHP文件(最初在Program Files中)及其内容移到了桌面上。现在独立的可以工作了,但运行Apache的不行。我不确定它们是否可以同时运行,但这个问题肯定与PHP有关,而不是与wiki本身有关。


配置说明

值得一提的是,某些配置可以放在单独的配置文件中pmwikiserv.conf您应该在中创建服务器/目录。这允许例如简单地配置服务器将驻留的端口。我的磁盘中的一个示例是:

<?php(电话)$Listen=“127.0.0.1:7777”;打印“已使用的侦听端口:$Listen\n”;

它允许我浏览本地PmWikihttp://localhost:7777/wiki当端口80被防火墙配置页占用时。马特乌斯·齐普林斯基


我使用Quickphp(首先使用google找到它),让一个支持PHP的Web服务器在上面运行PMwiki。这是几个不需要安装的文件。只需将它们放在一个目录中并启动可执行文件。只有几个选项,您可以从系统托盘启动/停止它。当您需要默认情况下未启用的某些模块时,也可以轻松地将itt与PHP.net中的PHP二进制文件集成--杰伦


问:我已经使用这个wiki几年了,现在我正试图在Windows 7 64位操作系统和IIS 7.0上使用它,但它有问题。它有时会崩溃,或者加载页面需要大约30秒。有什么建议吗?

-D。麦克纳尔蒂


伙计们,与xampp相比,使用它的唯一优点是它在ram上小且容易。xampp将加载到U盘上,有适用于windows(包括windows7,但我不知道64位)、linux、mac和solaris的版本,它预先配置为运行,并且在多个地方都有广泛的支持。我仍然会使用xampp对于第一次安装,或如果有问题,因为我知道我可以做到。(免责声明:php.ini将限制上传大小,我是一名10年的网络服务器运行经验丰富的人。我在Gnome中学会的30分钟内的操作可能需要一些时间,尤其是使用apache时)


FireFox更新中断独立

Stand-alone在WindowsXPSP3中为我做得很好,然后我的FireFox更新到了10.0.3,而PHP。EXE+pmwikiserv.php等加载第一个页面,之后什么都没有发生-php服务器窗口中没有消息。如有任何想法,我将不胜感激。沃德·克里斯滕森2012年4月22日下午03:10


您好,我是Kannan。我正在尝试探索使用PmWiki作为知识管理工具的可能性,我已经安装了PmWiki.zip和StandAlone设置,当我尝试打开localhost/wiki时,按照说明我得到错误消息,“PHP脚本解释器无法工作”当我关闭浏览器上的错误弹出窗口时,我只看到内容长度为0我对php很陌生,我不知道我做错了什么,可以有人帮忙。

如果您对PHP很陌生,请尝试从以下位置安装XAMPPhttps://www.apachefriends.org/这是用PHP启动服务器的最简单方法。然后在示例\htdocs文件夹--佩特科2019年9月9日下午02:38

感谢您的回复,继续处理上述问题,由于限制,我无法在我的办公笔记本电脑上安装XAMPP,我可以检查或做些什么来解决当前设置的问题,即使用独立服务器。我现在已经完成了以下工作

  • server.zip已解压缩到解压缩的PmWiki文件夹中。(..\Documents\PmWiki\server)
  • 从服务器位置运行pmwikiserv.bat
  • 在命令窗口上,我收到消息“Started…ready for requests”。到目前为止一切似乎都很好
  • 然后在浏览器上(我正在使用IE),我尝试打开以下内容http://localhost/wiki(https似乎不起作用)。按下回车键片刻后,我会弹出“PHP脚本解释器停止工作”的弹出窗口,并有一个关闭程序的按钮。我一在浏览器上单击它,就会看到“内容长度:0”消息。
  • 我取消了示例config.php文件中所有函数语句的注释,并放置了相同的本地文件夹(..\Documents\PmWiki\local)
  • 创建了wiki.d文件夹,其中的内容只是一个.flock文件。

我在一个新的存档中打包了一个基本的PHP环境,并修改了上面的说明。如果有效,请报告。请注意,这是一个非常基本的PHP版本,应该主要适用于核心PmWiki,但食谱中的许多食谱/插件可能需要全功能安装(例如处理图片、从互联网下载文件或进行数据库查询的食谱/附件)。如果需要完整的服务器,请参阅便携式XAMPP(仔细阅读)或者更好,获得一个便宜的共享主机--佩特科2019年9月10日下午06:22

贡献者

用户注释+1-1:如果你使用、使用或复习这个食谱,你可以添加您的姓名这些统计数据显示在Cookbook列表中,将帮助新手浏览wiki。