我有一个在LAMP环境中运行的现有CakePHP,需要将其安装在USB驱动器上以进行大规模公开发布。
有一些要求:
我对这些选项进行了大量研究,并且我很想了解其他开发人员的想法。
潜在的解决方案: - Flash / XML - Adobe AIR应用程序 - USB网络服务器(Server2Go,Portable Apps XAMPP)
有没有人使用上述任何一项,我们将非常感谢任何评论。
由于
答案 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(当时我还在开发它)。
Server2Go是一个开箱即用的Web服务器,无需任何安装和写保护媒体。这意味着基于Server2Go的Web应用程序可以直接从cdrom,usb stick或硬盘上的任何文件夹中使用,而无需配置Apache,PHP或MySQL。 Server2Go允许您在CD-ROM上创建独立的工作网站或PHP应用程序。
非常好。