6

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

我已经对此进行了尽可能多的研究 - 但大多数人似乎只想同步他们的 htdocs 和 mysql 数据,但是,我想将整个 xampp安装存储在 Google Drive 上,这意味着不再需要设置它其他电脑等

是否可以?优点缺点?

如果不推荐 XAMPP,那么在 google 驱动器上单独安装 apache/mysql/php 就足够了吗?

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

  • 在谷歌驱动器上安装 USB 便携版
  • 在 PC 上安装完整版,然后将其移动到谷歌驱动器并将位置符号链接到驱动器文件夹

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

谢谢!

4

2 回答 2

7

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

TL:博士;= 虽然这是可能的,但它毫无意义/比需要的开销更大。

解决方案:

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

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

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

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

我使用符号链接将文件夹指向它们在 Dropbox 上的位置(是的,我确实要求使用 Google Drive,但请参阅答案结尾以了解为什么要交换)。

它工作得很好,我还没有找到更好的解决方案。尽管现在将工作流转移到虚拟机上,但我更需要这种便携性,因为我必须在笔记本电脑和主 PC 之间切换。

问题:

  • 我遇到了一些小问题,几乎都是 mysql。
    • 如果 MySQL 服务在尝试加载时正在同步文件,它不会总是在机器启动时启动,这不是一个主要问题,而是一个微小的细微差别。
    • 损坏的数据库!:-o 这实际上或多或少地通过从 Google Drive 迁移到 Dropbox 得到了解决,最后对此进行了更多说明。
    • 您不能可靠地同时打开两台机器,因为它可能会导致数据库中的冲突。创建新数据库时,最好在一台机器上进行,让它完全启动,然后关闭机器并启动另一台机器,以便同步所需的内容。有时必须先停止 MySQL 服务。

Google DriveDropBox

我喜欢 Google 云端硬盘,我用它做所有事情。它很便宜,与 DropBox 的 10 美元(10 英镑?)相比,100GB 的空间只需 3 美元或其他任何东西。

过了一段时间,随着我的项目越来越大,我的 htdocs 变得越来越庞大,我开始注意到几个问题。我开始使用名为 Laravel 4 的框架有一段时间了,这涉及到 composer 将大量文件带入供应商目录。谷歌驱动器似乎索引了其中的一部分,然后只同步了一些文件,但我没有意识到。

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

我还发现在使用 Google Drive 时数据库经常损坏,随着 Google Drive 文件夹中文件数量的增加,情况变得更糟。

最终,我决定把我的换成htdocsDropBox。在几个星期没有问题之后,我把剩下的换掉了,从那时起我就没有遇到数据库损坏或任何文件夹未同步的问题。我认为这可能是由于 Google Drive 似乎无法处理这么多小文件(粗略估计,Laravel 4 供应商目录有 4k+ 文件,想象一下这可能是 10 个项目以及任何其他不在 laravel 4 上的项目......) .

处理数据库损坏

在仍然使用 Google Drive 的同时,我找到了一种安全的方法来确保我的数据库即使损坏也或多或少是安全的,我创建了一个批处理文件(是的,Windows 用户)来对所有非默认数据库进行数据库备份(跳过那些基本上随 MySQL / PhpMyAdmin 一起提供)到不在 Google Drive/DropBox 上的文件夹中的 .sql 文件。这意味着如果我的数据库确实损坏了,最糟糕的情况是我在数据库上浪费了一天的时间,这通常不会太多(特别是如果您使用迁移来创建表)。删除损坏的表/数据库并通过 .sql 文件恢复它们只是一项简单的任务。

于 2014-01-22T19:25:29.533 回答
0

如果其他人对此有疑问并且无法启动 Apache Windows 服务,这是因为 Google Drive 文件夹 (C:\Users\xxx\Google Drive) 没有可继承的权限,并且默认的 Windows 服务用户(本地System) 因此无权访问。

解决方案是将 Apache Windows 服务更改为像您一样运行 - 这样做之后,Windows 服务应该可以正常启动。

于 2016-11-24T21:40:03.840 回答