繁体   English   中英

JavaScript不工作 - apache2 + Ubuntu

[英]JavaScript not working - apache2 + Ubuntu

设置:配置了Suhosin-Patch的Apache / 2.2.14(Ubuntu)PHP / 5.3.2-1ubuntu4.7

/ etc / debian_version显示“squeeze / sid”。

将javascript ts_picker.js文件复制到/ usr / lib / cgi-bin(apache conf文件中配置的CGI目录)。 我所有的PHP程序都在同一个目录中。

尝试运行一个简单的PHP脚本,该脚本引用<HEAD> <script src>标记内的ts_picker.js文件。

但没有javascript工作。 Apache error.log显示:

[Wed Apr 13 19:05:41 2011] [error] [client 10.0.0.37] (8)Exec format error: exec of '/usr/lib/cgi-bin/ts_picker.js' failed, referer: http://10.0.27.200/cgi-bin/js.php
[Wed Apr 13 19:05:41 2011] [error] [client 10.0.0.37] Premature end of script headers: ts_picker.js, referer: http://10.0.27.200/cgi-bin/js.php

尝试检查.js的权限:它们是755,就像我的所有PHP脚本一样。

尝试在/ etc / apache2下递归地'javascript'和'js',除了DEFLATE条目之外什么都没找到:

/etc/apache2/mods-available/deflate.conf:          # AddOutputFilterByType DEFLATE application/x-javascript application/javascript application/ecmascript
/etc/apache2/mods-enabled/deflate.conf:          # AddOutputFilterByType DEFLATE application/x-javascript application/javascript application/ecmascript

另外,如果我在浏览器上打开PHP的HTML输出源,如果我点击那里的ts_picker.js链接,它会显示500内部错误。

我真的陷入了困境,无法做多少事情。 任何帮助深表感谢。 提前致谢。

Javascript文件是静态提供的资产 - 它们不是由您的网络服务器执行,而是由客户端浏览器执行。 所以它们不应该被设置为可执行文件,也不应该像/ cgi-bin那样位于脚本文件夹中:因此apache会在请求时尝试执行这些js文件,而不是仅仅提供它们。 您需要将js文件移动到静态资源所在的位置,并将它们设置为只读。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM