我正在寻找能够递归显示主文件夹中每个文件夹大小的内容.
这是一个带有CGI-Bin 的LAMP服务器,所以大多数PHP脚本都可以工作,或者任何可以在CGI-Bin中工作的东西.
我的托管公司没有为我提供界面,以查看哪些文件夹占用的空间最多.我不知道互联网上的任何东西,并做了一些搜索,但我没有得到任何结果.
实现图形(GD/ImageMagick)的东西最好但不是必需的.
我的主机仅支持CGI-BIN中的Perl.
我遇到了这个问题,我遇到了僵局,我会尝试任何事情,我已经达到了这个问题.我的问题是这样的:
我在运行apache2的Fedora 9机器上安装了一个Perl/CGI脚本,这个脚本有一个放置在同一目录下的配置文件,这个配置文件有777权限.
该脚本无法写入该文件.它可以读取,但绝不能让它写入它.该文件由运行apache的同一用户拥有.我写了一个小的PHP脚本来测试并将它放在同一个文件夹中.PHP脚本可以读取但无法写入.
我在这里非常绝望,我不知道从哪里开始有问题,所以任何帮助让我以正确的方式得到我将不胜感激.
编辑:我可以从命令行打开文件进行编辑; 它是无法访问它的apache
EDIT2:文件夹层次结构/ var/www/cgi-bin/script
权限是这样的
/ var root 755
www root 755
cgi-bin root 755
script apache 755
编辑:问题出在selinux上.我禁用了它,脚本可以访问该文件,感谢所有人的贡献
提前致谢
我正在创建一个网站,并完成了一些HTML的东西,但我想用CGI和Perl脚本创建网站.我对CGI脚本没有太多了解.任何人都可以建议我如何创建一个CGI脚本以及如何使用它创建网页?
Tornado是一个像Django这样的网络服务器+框架,但是用于实时功能.
在我的服务器上,我没有python模块或wsgi模块所以我认为CGI.有没有办法通过使用CGI文件夹让Tornado(或Django)工作?如果是的话,你能解释一下我该怎么做?
C档案:
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char* argv[])
{
FILE *ptr;
char m[200];
char *data = malloc(200);
data=getenv("QUERY_STRING");
sscanf(data,"%s", m);
printf("%s", m);
ptr=fopen("c:/test.txt", "w");
fprintf(ptr, "%s", m);
fclose(ptr);
return 0;
}
Run Code Online (Sandbox Code Playgroud)
// gcc -g print.c -o print.exe
HTML文件:
<html>
<body>
<h2>CGI Server</h2>
<p>
<form action="http://localhost/cgi-bin/print.exe">
<div><label>value: <input name="m" size="10"></label></div>
<div><input type="submit" value="Run"></div>
</form>
</p>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
如果输入到网页表单是c:/data.txt,则结果为:c%3A%2Fdata.txt
发生了什么?为什么输出中的/和:损坏了?似乎问题出在QUERY_STRING上,因为getenv("PATH")不会出现这个问题.
我非常喜欢使用Firebug来调试我的JavaScript代码,HTML DOM和网络加载,即:客户端关于Web开发的所有内容.
服务器端的情况并不那么明亮.我正在使用的应用程序使用Perl和强制性标准模块,如CGI和DBI.我知道标准的故障排除技术,但似乎没有跟踪例如数据库查询或函数调用的调试工具,并给我很好的输出.
输出必须特别不仅仅是在STDOUT(想象Content-Type: application/json)或STDERR(通过错误日志进行捣乱非常不舒服)被拉动,并且该工具不应该要求我手动将填充物填充到核心模块中或者use Data::Dumper; print '<pre>',Dumper($foo),'</pre>'在整个代码中喷洒.
长话短说:是否有一个工具可以让Perl/CGI的服务器端调试像Firebug在客户端那样有趣?
是否可以在perl的here-doc部分中包含JQuery.我试过但没有成功.这是我的代码.
my $cgi = CGI->new();print header();print start_html("JQuery in perl");
print <<JS;
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<script><!--
$(document).ready(function(){
$("p").click(function(){
$(this).hide();
});
});
//--></script>
<p>Click to hide</p>
<p>Click to hide</p>
<p>Click to hide</p>
</body>
JS
print end_html();
Run Code Online (Sandbox Code Playgroud)
但是当我编写一个javascript函数时,它工作正常
my $cgi = CGI->new();print header();print start_html("hello");
print <<JS;
<script><!--
function show() {alert("Hello");}
//--></script>
<input type="button" value="Check" onclick="show()">
</body>
JS
print end_html();
Run Code Online (Sandbox Code Playgroud)
我错过了一些明显的东西吗?请建议.
我试图在纯粹的bash中解码GET参数.
即:hello+%26+world应该成为hello & world
到目前为止,我已经设法得到这个:
#!/usr/bin/sh
echo "Content-type: text/plain"
echo ""
CMD=`echo "$QUERY_STRING" | grep -oE "(^|[?&])cmd=[^&]+" | sed "s/%20/ /g" | cut -f 2 -d "="`
CMD="${CMD//+/ }"
echo $CMD
Run Code Online (Sandbox Code Playgroud)
+用空格取代所有空间.
有一个更好的方法吗?或者我只需要查找每个可能的编码特殊字符并替换它?
我有一个名为CGI :: Github :: Webhook的Perl模块,到目前为止,它的测试套件在Travis CI上的分支主机上都可以正常工作。但是,由于它是用于编写CGI脚本的模块,因此我想使用CGI :: Test对其进行测试,因为这将更接近实际情况。
但是到目前为止,在分支机构中运行的所有Travis CI都cgi-test失败了。除了使用Perl 5.24及更高版本的运行之外,每个失败的运行都包含以下行,但路径中具有不同的Perl版本号:
Attempt to reload List/Util.pm aborted.
Compilation failed in require at /home/travis/perl5/perlbrew/perls/5.22.0/lib/site_perl/5.22.0/Sub/Exporter/Progressive.pm line 9.
BEGIN failed--compilation aborted at /home/travis/perl5/perlbrew/perls/5.22.0/lib/site_perl/5.22.0/Sub/Exporter/Progressive.pm line 9.
Compilation failed in require at /home/travis/perl5/perlbrew/perls/5.22.0/lib/site_perl/5.22.0/Devel/GlobalDestruction.pm line 11.
BEGIN failed--compilation aborted at /home/travis/perl5/perlbrew/perls/5.22.0/lib/site_perl/5.22.0/Devel/GlobalDestruction.pm line 11.
Compilation failed in require at /home/travis/perl5/perlbrew/perls/5.22.0/lib/site_perl/5.22.0/Moo/_Utils.pm line 21.
BEGIN failed--compilation aborted at /home/travis/perl5/perlbrew/perls/5.22.0/lib/site_perl/5.22.0/Moo/_Utils.pm line 21.
Compilation failed in require …Run Code Online (Sandbox Code Playgroud) 我正在编写一个脚本,允许用户从网页上传图像,以便以后在该网站上使用.按照惯例,我所能找到的只是涉及CGI.pm的例子.我可以使用任何核心模块作为替代品吗?