Google云端硬盘上的XAMPP

时间:2013-04-13 12:50:51

标签: php mysql apache xampp google-drive-api

我最近不得不重新安装XAMPP到我的电脑上,这意味着必须更换我之前设置的任何配置文件和任何其他数据文件(例如MySQL数据库,网站等)的另一个痛苦。

我已尽可能多地研究这个问题 - 但是大多数人似乎只想同步他们的htdoc和mysql数据,但是,我想在Google Drive上存储整个xampp 安装,意味着不再需要在其他计算机上进行设置等。

有可能吗?优点/缺点?

如果不建议使用XAMPP,那么在google驱动器上单独安装apache / mysql / php是否足够?

我有两个关于如何解决这个问题的想法:

  • 在Google云端硬盘上安装USB便携版本
  • 在PC上安装完整版,然后将其移至google drive并将该位置符号链接到驱动器文件夹

我意识到可能无法使用它运行服务......但除此之外,我不会每次从多台PC访问它,这纯粹是为了能够准备好使用服务器我是否使用笔记本电脑,PC等...不再需要复制网站或更改配置文件以满足任何新网站的需求。

谢谢!

2 个答案:

答案 0 :(得分:7)

我很久以前就想到了这一点,但我只记得发布答案以防万一其他人也想要它。

TL:DR; =虽然有可能,但它比完全没有必要/更多的开销。

解决方案:

我最终做的是同步最重要的区域,这些区域是(在xampp根目录下):

  • /htdocs
  • /phpmyadmin
  • /php
  • /mysql/data - 这里的关键是整个文件夹,只是数据位

这确保我运行的PHP和phpMyAdmin的版本都是相同的,并且我的数据库存在(是的,不再导出/导入!)。

我不同步apache文件夹的原因是因为我的计算机上的设置略有不同(不同的路径)。

我使用符号链接将文件夹指向Dropbox上的位置(是的,我确实要求使用Google云端硬盘,但请参阅答案的结尾以了解互换原因。)

它工作得很好,我还没有找到更好的解决方案。虽然现在将工作流程转移到虚拟机上,但由于我需要在笔记本电脑和主PC之间切换多少,我需要更多的便携性。

的问题:

  • 我遇到了一些小问题,几乎都是用mysql编写的。
    • MySQL服务并不总是在机器启动时启动,如果它在尝试加载时同步文件,不是主要问题,而是微小的细微差别。
    • 数据库损坏! :-o实际上,通过从Google云端硬盘转移到Dropbox,这实际上已经或多或少地得到了解决,最后还有更多内容。
    • 您无法可靠地同时启用两台计算机,因为它可能会导致数据库发生冲突。在创建新数据库时,最好在一台计算机上完成,让它完全启动,然后关闭计算机并启动另一台计算机,以便同步所需的内容。有时必须首先停止MySQL服务。

Google云端硬盘 vs DropBox

我喜欢谷歌硬盘,我用它来做所有事情。它价格便宜,100GB空间只需3美元,或者相比10美元(10英镑?)的DropBox。

过了一段时间,随着我的项目的发展和我的htdoc变得庞大,我开始注意到几个问题。我开始使用一个名为Laravel 4的框架,这涉及到很多文件被作曲家带入供应商目录。谷歌云端硬盘似乎是其中的一部分,然后只是同步了一些文件,但没有让我意识到。

这会导致我稍后去我的笔记本电脑,通常远离我的电脑,并意识到我的一半项目缺失,因此无法使用。除非我删除整个文件夹或其他一些技巧,否则大多数情况下的文件都不会被删除,这对初始项目创建来说非常痛苦。

我还发现数据库在使用Google云端硬盘时经常出现损坏,因为Google云端硬盘文件夹中的文件数量增加了,情况就越糟糕。

最终,我决定将我的htdocs交换到DropBox。在几周没有问题之后,我交换了其余部分,从那时起我就没有数据库损坏或任何文件夹没有被同步的问题。我认为这可能取决于Google Drive似乎无法处理如此多的小文件(粗略估计,Laravel 4供应商目录中有4k +文件,想象这就像10个项目以及任何其他不在laravel 4上的项目......)

解决数据库损坏问题

在使用Google云端硬盘的同时,我找到了一种安全的方法来确保我的数据库或多或少是安全的,即使已损坏,我创建了一个批处理文件(Yup,Windows用户)来对所有非默认数据库进行数据库备份(跳过MySQL / PhpMyAdmin附带的那些)到不在Google Drive / DropBox上的文件夹中的.sql文件。这意味着如果我的数据库确实损坏了,那么最糟糕的情况就是我在数据库上失去了一天的工作,这通常不会太多(特别是如果你使用迁移来创建表)。这只是一个简单的任务,即删除损坏的表/数据库并通过.sql文件恢复它们。

答案 1 :(得分:0)

如果其他人遇到此问题并且无法启动Apache Windows服务,则这是因为Google云端硬盘文件夹(C:\ Users \ xxx \ Google Drive)没有可继承权限和默认权限因此,Windows服务用户(本地系统)无法访问。

解决方案是将Apache Windows服务更改为以您的身份运行 - 执行此操作后,Windows服务应该开始运行。