在USB记忆棒上运行Apache / PHP / MySQL(CakePHP)应用程序?

时间:2009-10-28 11:43:43

标签: php mysql cakephp usb webserver

我有一个在LAMP环境中运行的现有CakePHP,需要将其安装在USB驱动器上以进行大规模公开发布。

有一些要求:

  • 保护源代码
  • 无需安装
  • Windows支持必备
  • MAC& Linux将是一个奖金
  • 必须离线运行,无需连接互联网
  • 能够与服务器同步以进行数据传输和更新

我对这些选项进行了大量研究,并且我很想了解其他开发人员的想法。

潜在的解决方案:   - Flash / XML   - Adob​​e AIR应用程序   - USB网络服务器(Server2Go,Portable Apps XAMPP)

有没有人使用上述任何一项,我们将非常感谢任何评论。

由于

5 个答案:

答案 0 :(得分:4)

这里类似的主题: Portable USB Webserver

如果你问我, XAMPP 应该这样做,因为它提供了“普通解压缩”版本。那里有很多种类--Bitnami也提供了很多堆栈,尽管它们可能不适合这项特殊任务。

要在Windows和Linux中保留相同的脚本,您可以考虑使用UnxUtils ,它是所有常见Linux命令的端口。如果您擅长Linux bash shell脚本但不擅长Windows批处理文件,这将非常方便。

保护源代码有点麻烦。你真的,真的需要这样做吗?因为那里有很多很棒的开源代码,它们几乎已经在大多数常见的业务领域 - sourceforge.net。

如果有人拿你的代码并自己调用它,你可以在互联网上命名,如果你可以证明的话。这本身就是对他们的不良宣传。那就是说,我显然不知道你的具体需求。所以这只是我的意见。

答案 1 :(得分:3)

无论你怎么做,你都会遇到问题。看起来每一步都有点不寻常。

您需要使用源代码混淆器来保护您的源代码。我推荐的是Zend,不是来自经验,而是因为Zend制作了很棒的产品。从来没有使用过源保护器。

您需要安装三个自定义LAMP / MAMP / XAMP,每个目标操作系统一个。它们应指向USB驱动器上共享的目录。确保将它们配置为使用不受保护的端口,否则用户将需要管理员权限才能运行服务器软件。让服务器启动并运行也可能会导致一些小问题。

我实际上建议找一些能够分发二进制文件的东西,或类似AIR应用程序的东西,用于此类分发。您可能必须重写大量代码,但它比您在客户端看到的所有琐碎的小安装错误更容易修复。要将脚本打包成二进制文件而不重写内容,请查看http://www.scriptol.com/apollo.php和类似产品。

但我建议你在adobe air中创建一个独立的应用程序,它将与你的服务器同步(甚至可能是一些谷歌齿轮集成,让它脱机工作)。不要试图强迫PHP应用程序进入这个分发模型,它会产生噩梦般的问题。

答案 2 :(得分:2)

您可以使用MAMP for Mac,您只需编辑配置即可正确指向网站目录。

但是你会遇到mysql db不一定适用于windows的问题。如果你将db切换到sqlite,你可以很容易地同步sqlite db文件。

XAMPP适用于Windows端

抱歉,不知道linux方面。

答案 3 :(得分:2)

有一个CakePHP InstaWeb服务器

http://bakery.cakephp.org/articles/view/the-cakephp-instaweb-webserver

在python上运行,不需要安装。加上一些额外的好东西应该让你已经完成了一半。

答案 4 :(得分:1)

这是我以前从DVD运行CakePHP应用程序的原因。也在使用USB(当时我还在开发它)。

http://www.server2go-web.de/

  

Server2Go是一个开箱即用的Web服务器,无需任何安装和写保护媒体。这意味着基于Server2Go的Web应用程序可以直接从cdrom,usb stick或硬盘上的任何文件夹中使用,而无需配置Apache,PHP或MySQL。   Server2Go允许您在CD-ROM上创建独立的工作网站或PHP应用程序。

非常好。