很久以前我自己就知道了这一点,但我只记得发布答案以防其他人也想要它。
TL:博士;= 虽然这是可能的,但它毫无意义/比需要的开销更大。
解决方案:
我最终做的是同步最重要的区域,这些是(在 xampp 根目录下):
/htdocs
/phpmyadmin
/php
/mysql/data
-这里的关键不是整个文件夹,只是数据位
这确保了我运行的 PHP 和 phpMyAdmin 的版本都是相同的,并且我的数据库存在(是的,没有更多的导出/导入!)。
我不同步apache
文件夹的原因是因为我在机器上的设置略有不同(不同的路径)。
我使用符号链接将文件夹指向它们在 Dropbox 上的位置(是的,我确实要求使用 Google Drive,但请参阅答案结尾以了解为什么要交换)。
它工作得很好,我还没有找到更好的解决方案。尽管现在将工作流转移到虚拟机上,但我更需要这种便携性,因为我必须在笔记本电脑和主 PC 之间切换。
问题:
- 我遇到了一些小问题,几乎都是 mysql。
- 如果 MySQL 服务在尝试加载时正在同步文件,它不会总是在机器启动时启动,这不是一个主要问题,而是一个微小的细微差别。
- 损坏的数据库!:-o 这实际上或多或少地通过从 Google Drive 迁移到 Dropbox 得到了解决,最后对此进行了更多说明。
- 您不能可靠地同时打开两台机器,因为它可能会导致数据库中的冲突。创建新数据库时,最好在一台机器上进行,让它完全启动,然后关闭机器并启动另一台机器,以便同步所需的内容。有时必须先停止 MySQL 服务。
Google Drive与DropBox
我喜欢 Google 云端硬盘,我用它做所有事情。它很便宜,与 DropBox 的 10 美元(10 英镑?)相比,100GB 的空间只需 3 美元或其他任何东西。
过了一段时间,随着我的项目越来越大,我的 htdocs 变得越来越庞大,我开始注意到几个问题。我开始使用名为 Laravel 4 的框架有一段时间了,这涉及到 composer 将大量文件带入供应商目录。谷歌驱动器似乎索引了其中的一部分,然后只同步了一些文件,但我没有意识到。
这将导致我稍后再去我的笔记本电脑,通常远离我的 PC,并意识到我的一半项目丢失了,因此无法使用。在大多数情况下,除非我删除了整个文件夹或其他一些技巧,否则文件不会被拾取,这对最初的项目创建来说是相当痛苦的。
我还发现在使用 Google Drive 时数据库经常损坏,随着 Google Drive 文件夹中文件数量的增加,情况变得更糟。
最终,我决定把我的换成htdocs
DropBox。在几个星期没有问题之后,我把剩下的换掉了,从那时起我就没有遇到数据库损坏或任何文件夹未同步的问题。我认为这可能是由于 Google Drive 似乎无法处理这么多小文件(粗略估计,Laravel 4 供应商目录有 4k+ 文件,想象一下这可能是 10 个项目以及任何其他不在 laravel 4 上的项目......) .
处理数据库损坏
在仍然使用 Google Drive 的同时,我找到了一种安全的方法来确保我的数据库即使损坏也或多或少是安全的,我创建了一个批处理文件(是的,Windows 用户)来对所有非默认数据库进行数据库备份(跳过那些基本上随 MySQL / PhpMyAdmin 一起提供)到不在 Google Drive/DropBox 上的文件夹中的 .sql 文件。这意味着如果我的数据库确实损坏了,最糟糕的情况是我在数据库上浪费了一天的时间,这通常不会太多(特别是如果您使用迁移来创建表)。删除损坏的表/数据库并通过 .sql 文件恢复它们只是一项简单的任务。