【问题标题】:PHP syntax error when files are added to VMware host from guest将文件从客户机添加到 VMware 主机时出现 PHP 语法错误
【发布时间】:2013-05-29 12:59:53
【问题描述】:

在我的设置中,源文件位于主机 (Mac OSX) 上并共享给来宾 (Ubuntu Server)。 当文件从客户机添加到主机时,文件的最后一行会出现语法错误 - 即使不存在语法错误。

示例:Laravel Artisan commands

以下所有命令均从 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

我的设置

  • 我的主机是所有源文件所在的 Mac OSX。
  • 我的客户操作系统是安装了 php 的 Ubuntu Server (non-gui)。
  • 文件通过open-vm-tools (vmhgfs)从主机共享到访客

我非常愿意接受您的任何建议,如果您需要详细信息,请询问。

【问题讨论】:

  • 如果您将文件复制到外部 HD 或 pendrive 中,而不是使用 vm-tools?
  • 好主意!是的,如果文件存储在直接安装到客人的 USB 驱动器上,则没有问题。这是否给您任何线索,如何解决问题?

标签: php ubuntu laravel vmware-fusion


【解决方案1】:

VMWare 也有这个问题 - 每当我执行 composer update 或 dump-autoload 时,我都必须重新启动 VM,这会解决这个问题。直到下次更新...

这似乎是一个众所周知的问题,但不幸的是我还没有找到任何解决方案。

更多信息:

https://github.com/composer/composer/issues/1365

https://superuser.com/questions/511679/getting-an-error-trying-to-set-up-shared-folders-on-an-ubuntu-instance-of-vmware/522337#522337

https://stackoverflow.com/a/14407758/847856

【讨论】:

    【解决方案2】:

    从 VMware 6.0.2 开始,至少对我而言,此问题已得到解决。我只是将 VMware Fusion 升级到 6.0.2,问题就消失了。

    【讨论】:

    • 在使用 6.0.2 运行 php composer 更新时,我仍然看到 EOF 错误。今天找到这篇文章是因为现在随机其他文件也看到 EOF 错误,可能是在 git 更新或分支更改之后。
    • 有点晚了,也许试试 NSF,它完全解决了这个问题。
    猜你喜欢
    • 1970-01-01
    • 2022-11-18
    • 1970-01-01
    • 1970-01-01
    • 2021-08-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-05-31
    相关资源
    最近更新 更多