我目前正在使用 VirtualBox VM 进行开发。这是一个 CENTOS 机器,使用以下说明安装了 Apache 和 PHP: http://tuline.com/wp-content/uploads/2015/11/A-Centos-Web-Development-Environment.pdf
我将服务器上的 Web 文件夹设置为 Samba 共享并将其安装在主机操作系统中(Windows 7 或 10,具体取决于我正在使用的计算机)。我遇到的唯一问题是当我启动 Symphony 项目并下载 PhpStorm 来帮助自动完成时。
PhpStorm 立即提示在映射网络驱动器上工作。我不确定是否有任何功能不起作用,因为到目前为止我一直在使用 VS Code。我尝试了几种不同的共享文件夹的方法,但我对其中任何一种都不太满意。
我尝试使用 VirtualBox 共享文件夹功能,然后将其映射到 Web 文件夹。这解决了 PhpStorm 的投诉,但使服务器速度异常缓慢。基本页面的渲染时间从大约 150 毫秒缩短到超过 4 秒。
我还尝试使用映射的 Samba 共享作为源启动本地项目,并让 PhpStorm 自动发布更改的文件。此配置的问题是,Webpack 创建的文件不会显示在 PhpStorm 项目中,除非我手动告诉 PhpStorm 下载它们。
我目前正在考虑采用以下两种方法之一:
选项一是保持 Samba 共享不变,让 PhpStorm 提示。我不知道这个选择有多明智,所以我想听听做过这个的人的意见,以及是否有任何我不知道的问题。
选项二是找到一种方法来镜像主机操作系统中的文件夹。然后我可以镜像 Samba 共享并在 PhpStorm 中处理目标文件夹。
我的问题是,在虚拟机中进行开发的其他人如何处理共享文件?希望有人能有一些我没有想到的聪明的东西。
如果有什么不同的话,一切都在 SSD 上运行。
编辑
我接受了 Yarimadam 的回答。如果我从头开始,Docker 似乎是正确的选择。然而,由于一台开发机器运行 Windows 7,另一台运行 Windows 10,学习曲线似乎有点长。
我最终一致同意保持目录同步。正常工作有点痛苦。这是我用来设置它们的教程/文章。 https://winscp.net/eng/docs/guide_windows_openssh_server
https://mike.eire.ca/2008/10/01/configuring-unison-on-windows/
https://gist.github.com/federivo/a1c56909b3f712e516a3cd2f70c0eaa6
http://rnowling.github.io/software/engineering/2015/04/02/installing-ocaml.html
最后:
wget https://raw.github.com/ocaml/opam/master/shell/opam_installer.sh -O - | sh -s /usr/local/bin
我找不到任何涵盖有关设置 Unison 的所有内容的指南。其中大多数是 Linux 到 Linux,这并不是什么问题。问题来自于两件事。首先版本非常匹配。这没什么大不了的,但不仅版本必须匹配,而且它们必须使用相同版本的 OCaml 进行编译。
二进制下载页面上没有说明最后一个稳定的 Windows 版本使用的是哪个版本。经过反复试验,我终于得到了2.84.4,可以在服务器上与OCaml 4.03.0一起正常编译。
wget 的最后一步是安装 OPAM 来安装 OCaml。我在 yum 中找不到 OPAM 的软件包,如果您通过 yum 安装 OCaml,它将是版本 4.01.0,在查看目录时会崩溃。
最佳答案
PhpStorm 的高级功能如 code completion
和find in path
严重依赖索引,涉及数千个文件。由于 PhpStorm 的这种性质,它需要监视项目目录上的所有更改事件并立即索引它们。此过程需要快速可靠地访问项目目录。但在典型的网络共享图中,情况并非如此。这就是 PhpStorm 提示您的 samba 映射的原因。
您听说过 Docker ?
这是一个类似虚拟机的容器平台,内置了已安装的卷。因此您可以将本地文件夹映射到 guest 容器并享受实时同步。 Docker 是实现此目的的最佳解决方案。
我个人使用 Docker。但在过去,我从来不需要主机和 guest 操作系统之间的双向同步。我曾经在 guest 操作系统(供应商、前端任务运行程序)上安装所有内容,然后通过 sftp 部署服务器下载所有内容,如下所示:
配置部署服务器 (sftp)
[工具 > 部署 > 配置]
浏览远程主机,右键单击并选择“从此处下载”
[工具 > 部署 > 浏览远程主机]
设置自动上传
[工具>部署>自动上传]
关于php - 在虚拟机上开发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49684909/