Синтаксическая ошибка PHP при добавлении файлов на хост VMware из гостя

В моей установке исходные файлы расположены на хост-компьютере (Mac OSX) и доступны для гостя (Ubuntu Server). Когда файлы добавляются на хост из гостя, в последней строке файла возникают синтаксические ошибки, даже если синтаксических ошибок нет.

Пример: Artisan-команды Laravel

Все следующие команды запускаются из 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, где расположены все исходные файлы.
  • Моя гостевая ОС — Ubuntu Server (без графического интерфейса), где установлен php.
  • Файлы передаются от хоста к гостю с помощью open-vm-tools (vmhgfs)

Я очень открыт для любых ваших предложений, и если вам нужны подробности, пожалуйста, спрашивайте.


person sqren    schedule 29.05.2013    source источник
comment
Если вы скопируете файлы на внешний жесткий диск или флешку вместо использования vm-tools?   -  person Hackerman    schedule 29.05.2013
comment
Хорошая идея! Да, нет проблем, если файлы хранятся на USB-накопителе, подключенном непосредственно к гостевой системе. Это дает вам какие-либо подсказки, как решить проблему?   -  person sqren    schedule 31.05.2013


Ответы (2)


У меня тоже есть эта проблема с VMWare - всякий раз, когда я выполняю обновление композитора или автозагрузку дампа, мне приходится перезапускать виртуальную машину, которая решает проблему. До следующего обновления...

Кажется, это несколько известная проблема, но, к сожалению, я пока не нашел решения.

Чтобы получить больше информации:

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

person Micael Gustafsson    schedule 06.07.2013

Эта проблема была решена, по крайней мере для меня, начиная с VMware 6.0.2. Я просто обновил VMware Fusion до 6.0.2, и проблема исчезла.

person Out of Control    schedule 07.11.2013
comment
Я все еще вижу ошибки EOF при запуске обновлений php composer с использованием 6.0.2. Нашел этот пост сегодня, потому что теперь случайные другие файлы также видят ошибки EOF, возможно, после обновления git или изменения ветки. - person James Alday; 29.01.2014
comment
Немного поздно, но, возможно, попробуйте NSF, он полностью решает эту проблему. - person Out of Control; 15.09.2014