Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Shared folder with vagrant cause invisible characters appending

I have a few invisible characters (�) that appear at the end of a javascript document that cause the "illegal character" error in FF or Chrome. I saw different topics about this error, but nothing works for me, and i can't see anything wrong in my document (displaying invisible characters, open it with a hexadecimal editor). This is just driving me crazy. I use Vagrant with a nginx web server. The document looks clear in the server too (vi + :set list).

Plus, when I get back a clear document from my Git repository, everything works(normal). But each time I want to edit it (like create a new variable at the top of document), I got this error again.

If someone can helps me, thank you.

like image 611
Max Avatar asked Jun 24 '13 23:06

Max


2 Answers

If you're using the VirtualBox provider, then VirtualBox shared folders are the default synced folder type. These synced folders use the VirtualBox shared folder system to sync file changes from the guest to the host and vice versa.

There is a VirtualBox bug related to sendfile which can result in corrupted or non-updating files. You should deactivate sendfile in any web servers you may be running.

In Nginx:

sendfile off;

In Apache:

EnableSendfile Off

See vagrant docs: http://docs.vagrantup.com/v2/synced-folders/virtualbox.html

like image 143
crash Avatar answered Nov 02 '22 05:11

crash


It seems that you're using Vagrant.. please take a look at your _Vagrantfile and check the way files are written on the VM filesystem.

cat ~/.vagrant.d/boxes/[YOUR VM NAME]/include/_Vagrantfile

Maybe you are using config.vm.synced_folder try to use NFS:

config.vm.synced_folder "/home/myuser/shared", ".", :nfs => true 
like image 25
Guillaume Boschini Avatar answered Nov 02 '22 06:11

Guillaume Boschini