Ubuntu/OSX 之间共享 VMware 文件夹导致“不可见字符”和语法错误

Ubuntu/OSX 之间共享 VMware 文件夹导致“不可见字符”和语法错误

我遇到了一个恼人的问题,我认为这个问题是由 Ubuntu 文件系统和 Mac OSX 文件系统之间的差异引起的。这似乎是一个普遍问题,任何使用 Mac OSX、VMware Fusion 和 Ubuntu 作为客户机的人都可能遇到这个问题。

我的设置

  • 我的主机是 Mac OSX,所有源文件都位于那里。
  • 我的客户操作系统是 Ubuntu Server(非 GUI),其中安装了所有开发工具和编译器(python、php 等)。
  • 我的虚拟化软件是 VMware Fusion。

我无法让 VMware Tools 工作,因此我按照以下步骤将文件从 OSX 共享到 Ubuntu: 尝试在 OSX 上运行的 VMWare Fusion 的 Ubuntu 实例上设置共享文件夹时出现错误

再次强调:文件位于 OSX 上,并与客户机(Ubuntu)共享,以便 PHP 可以读取它们。

案例分析

我对 PHP 框架进行了一些研究Laravel 的内置Artisan 命令。以下所有命令均从 Ubuntu(客户机)运行

第一次使用时,效果很好:

php artisan

我还可以很好地重建源文件:

php artisan dump-autoload

然而,由于文件已经重建,这不再起作用:

php artisan

...并导致此语法错误:

PHP Parse error:  syntax error, unexpected 'F' in /mnt/hgfs/www/tmi/api/vendor/composer/autoload_classmap.php on line 1646

如果我重新挂载包含源代码的文件夹,问题就会消失:

sudo mount /mnt/hgfs/www

现在我可以再次毫无问题地运行以下命令:

php artisan

答案1

一种解决方法可能是使用扩展程序,用空格代替制表符。

答案2

这个问题似乎与 PHP 有关。关闭并将问题移至堆栈溢出

相关内容