Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/439.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript无效或意外标记(\u0)_Javascript_Apache_Virtualbox_Centos7 - Fatal编程技术网

Javascript无效或意外标记(\u0)

Javascript无效或意外标记(\u0),javascript,apache,virtualbox,centos7,Javascript,Apache,Virtualbox,Centos7,正如您将在图像中看到的,有许多红点,显然每个红点都标识为\u0 文件内容或编辑器没有区别。 正在编译的JS文件与未编译的JS文件没有区别,事实上,由于空格和新行的原因,在非精简版本中会出现更多的红点,即使加载一个空白文件,然后添加一些简单的东西,如console.log('abc'),也只会导致所有的红点 添加内容 这些不可见和不可选择的字符在文件末尾出现的次数与我在脚本的任何其他部分中键入的任何其他字符的次数相同 不可见字符不在磁盘上的实际文件中,而只在web服务器提供服务的文件中 删除内容

正如您将在图像中看到的,有许多红点,显然每个红点都标识为\u0

文件内容或编辑器没有区别。

正在编译的JS文件与未编译的JS文件没有区别,事实上,由于空格和新行的原因,在非精简版本中会出现更多的红点,即使加载一个空白文件,然后添加一些简单的东西,如console.log('abc'),也只会导致所有的红点

添加内容

这些不可见和不可选择的字符在文件末尾出现的次数与我在脚本的任何其他部分中键入的任何其他字符的次数相同

不可见字符不在磁盘上的实际文件中,而只在web服务器提供服务的文件中

删除内容

如果我启动VM,然后从JS脚本中的任何位置删除字符,那么在文件的webresponse请求中,相同数量的字符将从内容末尾消失

未修改的使用

当我第一次启动虚拟机并在浏览器中访问网站时,只要文件从未以任何方式修改,多次请求都不会出错

结论

如果我在VM运行时以任何方式修改文件,结果就好像服务器在服务器首次启动或内容首次提供时以某种方式保留了文件字节大小的快照一样。然后,在服务器运行时对文件内容进行更改时,如果内容变小,则将其切掉;如果内容变大,则将其填充为\u0,如同填充文件一样

可以清除故障,但不是永久性的

如果我在使文件损坏后重新启动VM,并使用先前导致错误的修改刷新js文件的请求,那么错误就消失了,我的新更改也没有问题

我还可以撤消破坏响应的最后更改,正常操作将继续

这个问题是从11月18日起才开始出现的,大概需要几天的时间,我已经运行安装程序一个多月了,没有问题。我记得最近唯一的变化是上周的几次windows更新

我正在Windows 10上运行Virtualbox VM Centos 7、Apache 2.4.6+PHP 7.1.12,源代码目录使用VBox来宾添加共享文件夹配置装载到VM

似乎这个问题与虚拟机和它的服务有关 资源,如果文件在加载后发生更改,则进行某种形式的填充和剔除

重新启动httpd服务没有任何影响,只有在每次文件修改后重新启动VM才能清除问题

有没有其他人遇到过这个问题,或者能够重现这个问题

虚拟机设置(复制)

以下是我在学习如何创建和运行本地开发环境时制定的说明,如果您想尝试并再现此问题:

更新1-17年11月26日

我尝试从头开始重建一个新的虚拟机,但仍然存在同样的问题

我注意到CSS文件也发生了这种情况,作为测试,我更改了以下代码:

.flexData.tools .settings:hover {
    color: #0a0a0a;
}

/*# sourceMappingURL=flexData.css.map */
要添加名为test的类,请执行以下操作:

.flexData.tools .settings:hover {
    color: #0a0a0a;
}
.test {
    color:blue;
}

/*# sourceMappingURL=flexData.css.map */
在服务器提供的文件末尾出现如下结果:

.flexData.tools .settings:hover {
    color: #0a0a0a; 
}

/*# sourceMappingURL=flexData.css.map */
�������������������������
请注意,在注释之前,test类是如何丢失的,注释之后出现了奇怪的字符

然后我重新启动虚拟机,然后在浏览器中按F5(刷新),字符消失,我的测试类出现:

.flexData.tools .settings:hover {
    color: #0a0a0a; }
.test {
    color:blue;
}
/*# sourceMappingURL=flexData.css.map */
我检查了HTML源代码响应,它是而不是对PHP的HTML输出执行此操作

更新2-2017年11月26日

我安装了XAMP并测试了上面的所有问题。。。没有文件 修改导致了错误,因此确认存在某种类型的错误 文件缓存问题与虚拟机或中的httpd服务一起出现 虚拟机


我也有同样的问题,这是由虚拟机引起的

对于位置/块中的NGINX,添加sendfile off设置

location / {
    ...
    sendfile off;
}
对于Apache,在httpd.conf中查找EnableSendfile,并将其设置为off

EnableSendfile off
必须重新启动服务才能使更改生效,需要在web浏览器(CTRL+F5)中进行硬刷新才能看到生效的更改

EnableMap和EnableSendfile:在支持它的系统上,可以使用内存映射或sendfile系统调用来传递文件。这通常会提高服务器性能,但当从网络安装的文件系统提供服务时,必须关闭,否则系统上对这些功能的支持就会中断


您是否需要在VM中转到,并在服务器配置中转到
/etc/nginx/nginx.conf
并将
sendfile
等关闭

http {

    ##
    # Basic Settings
    ##

    sendfile off;
    ...
    }
错误与我相同(\u0)。我被修好了

  • sudo nano/etc/nginx/nginx.conf:更改为sendfile off
  • 流浪重新装载
  • Ctrl+F5(清除浏览器的缓存) =>为我工作

  • 尝试在另一个编辑器中创建一个干净的文件,并重新上传它,这与使用的编辑器或文件中实际包含的内容无关。服务器/虚拟机正在以某种方式缓存文件的字节大小。试过记事本,记事本++以防万一。每当我看到这些字符时,它们总是在文件本身中,并清理文件解决了这一问题。这一次绝对不是,如果你自己打开,提供的文件与磁盘上的文件不一样。你在开玩笑。。。好的,我怎样才能在没有屏幕截图的情况下向人们展示看不见的角色……OP似乎没有使用nginx,从您的回答来看,不清楚为什么这会有帮助。这似乎不是对老年退休金计划实际问题的回答。我终于有时间启动了那个职业球员