我想使用Snow Leopard内置的Apache服务器(显然是2.2.14)提供基于FastCGI的Perl脚本。 我听说有人称MacPorts为必填项。 这是某种“适合”类似于Mac的包pipe理器。 以前,我在Debian和Fedora上为Apacheconfiguration了FastCGI。 在Linux上为ApacheconfigurationFastCGI与OS X有什么区别? 在我开始之前有什么需要注意的问题吗? 谢谢。
我创build了一个作为deamon运行的linux服务(并从/etc/init.d/X开始)。 我需要设置一些可以被应用程序访问的环境variables。 这是场景。 该应用程序是一堆依赖于(因此需要以asterisk用户运行)的Perl AGI脚本,但星号没有shell。 理想情况下,我只是将其设置在/home/asterisk/.bashrc中,但不存在星号。 如何在星号用户的运行环境中为我的应用程序设置环境variables,以便我的应用程序可以使用它们? 更新 :改变标题显示使用Debian。
我试图让安装mod_fcgid后再次运行一个旧的Perl脚本。 我不得不为新客户端安装mod_fcgid,但似乎已经破坏了我的其他一些cgi脚本。 进入页面时,现在有500个错误。 我检查了错误日志,并从脚本的输出是在错误日志…所以脚本正在运行,但由于某种原因,它仍然提供了一个500内部服务器错误的浏览器… HTML头是打印的第一件事…所以我不知道为什么这个错误发生。 错误日志: [略:html输出] [Wed Dec 08 08:59:18 2010] [警告](104)通过peer重置连接:mod_fcgid:从fastcgi服务器错误中读取数据。 [Wed Dec 08 08:59:18 2010] [错误] [客户端xxxx]脚本标题过早结束:www_protect.cgi,referer:http://www.mywebsite.net/ [Wed Dec 08 08:59:21 2010] [notice] mod_fcgid:process /www/sites/somescript.cgi(6747)exit(通讯错误),通过调用exit()终止,返回码:0 fcgi.conf: AddHandler fcgid-script .fcgi .cgi #SocketPath / var / lib / apache2 / fcgid / sock IPCConnectTimeout 45 IPCCommTimeout 20 OutputBufferSize 0 MaxRequestsPerProcess 500 IdleTimeout 3600 ProcessLifeTime […]
我刚刚完成在我的Web服务器上安装awstats,并使用firefox运行正常。 但是当我尝试用chrome打开awstats页面时,perl源脚本被下载(而不是被执行)。 Chrome浏览器所要求的MIME似乎与Chrome相比有不同的performance。 任何想法 ? Apacheconfiguration文件有趣的部分: <Directory "/var/www/cryptis-https-root/admin-awstats"> Options Indexes FollowSymLinks MultiViews ExecCGI AllowOverride None Order allow,deny Allow from XY </Directory> Alias /awstatsclasses "/var/www/awstats/wwwroot/classes/" Alias /awstatscss "/var/www/awstats/wwwroot/css/" Alias /awstatsicons "/var/www/awstats/wwwroot/icon/" ScriptAlias /admin-awstats/ "/var/www/awstats/wwwroot/cgi-bin/" <Directory "/var/www/awstats/wwwroot"> Options None ExecCGI AllowOverride None Order allow,deny Allow from XY </Directory> 我已经尝试在apacheconfiguration文件中添加以下行,但它没有效果: AddHandler cgi-script .pl
我在高峰时期运行了一个大约500名用户的小型多人纸牌游戏 : 客户端在Flash中,服务器在Perl中。 Perl服务器绑定到8080端口,即只能启动1个实例(重要细节)。 Perl服务器轮询()的TCP套接字和叉只有一次 – 在启动时通过调用此方法: sub daemonize { die "Can not fork: $!\n" unless defined (my $child = fork()); # the parent should die exit 0 if $child; setsid(); open(STDIN, '</dev/null'); open(STDOUT, '>/tmp/pref.txt'); open(STDERR, '>&STDOUT'); chdir('/'); umask(0); } …. $tcpSocket = IO::Socket::INET->new(Proto => 'tcp', LocalPort => 8080, Listen => SOMAXCONN, ReuseAddr => 1, […]
给定一个名为Centos1.x,Centos1.y,Centos1.z的文件夹“Centos1”,这些文件的内容也是“Centos1”。 使用单个命令(使用find,sed,perl -pie)如何将它们重命名为“Centos2”以便发生所有“Centos1”以下是Centos1目录的内容。 Centos1.nvram Centos1-s005.vmdk Centos1.vmsd vmware-2.log Centos1-s001.vmdk Centos1-s006.vmdk Centos1.vmx vmware.log Centos1-s002.vmdk Centos1-s007.vmdk Centos1.vmxf Centos1-s003.vmdk Centos1-s008.vmdk vmware-0.log Centos1-s004.vmdk Centos1.vmdk vmware-1.log 注意:如果存在所有文件,我想要将“Centos1”replace为“Centos2”。 在更改为“Centos1”目录后,我运行了下面提到的命令 find . -type f -exec sed -i 's/Centos1/Centos2/g' {} + 但是没有帮助。 任何input?
我有完全相同的问题。 简而言之,我使用mime :: lite发送pipe理员邮件,但由于本地主机[127.0.0.1]出现在标题中,因此它们似乎被标记为垃圾邮件。 我的问题是如何摆脱电子邮件标题中的本地主机&127.0.0.1的引用? 上面提到的问题的答案是安装postfix,不幸的是这已经安装在Fedora 14主机上,并没有什么区别。 消息build立之后,这条线用于发送邮件: MIME::Lite->send("sendmail", "/usr/lib/sendmail -t -oi -oem -froot\@mail.mydomain.com"); 我已经尝试了main.cf中的各种configuration,myhostname被设置为“mail.mydomain.com”。 我试着明确地设置'myorigin = $ myhostname',但不出所料,因为这是默认的没有任何区别。 在下面的所有例子中,真实的公共IP地址被replace为1.1.1.1,域replace为mydomain.com和mydomain1.com。 这是一个示例(编辑)标题,冒犯的位以粗体显示: Return-path: <[email protected]> Received: from smtpin.myisp.com ([10.30.30.30]) by ms.myisp.com (ISP server details removed (built Aug 10 2011)) with ESMTP id <[email protected]> for [email protected]; Thu, 13 Oct 2011 12:49:08 +0000 (GMT) Original-recipient: rfc822;[email protected] Received: from mail.mydomain.com […]
我有一个perl脚本,它是使用pp编译的,在Windows 7机器上作为Windows服务运行。 我看了线程http://www.perlmonks.org/index.pl?node%5Fid=230377,但没有多大用处,因为他们大多数不清楚,build议的解决scheme是创build可执行文件,而不是实际上作为Windows 7服务运行。 我试图把我编译的exe文件放在windows的计划任务中,但我认为它不能运行的原因。 我如何debugging?
我有一个名为test.html文件中的以下服务器端包括… <!–#include virtual="/cgi-bin/myScript.cgi"–> <!–#include virtual="/includes/myFile.html"–> 当我在我的浏览器中查看test.html , myFile.html正被插入/呈现,但是myScript.cgi正在给我 [在执行此命令时出现的错误] 从浏览器地址栏,/ /cgi-bin/myScript.cgi渲染输出就好了,certificate文件存在于path中,权限是正确的(755)。 包含myFile.html就可以正确设置SSI处理程序,certificate正在分析页面。 所以,如果SSI正在工作,而myScript.cgi正在工作,为什么不包含#include virtual脚本? 作为一个侧面说明,这是一个cPanel托pipe帐户,我有许多其他帐户(网站)在同一个托pipe公司的服务器具有相同的configuration。 其他人都按预期工作。 cPanel版本:11.30.6(build 3) Apache版本:2.2.17 架构:x86_64 操作系统:linux Perl版本:5.8.8 内核版本:2.6.18-194.32.1.el5 cPanel Pro:1.0(RC1) 该脚本只是将当天的年份作为格式化文本返回。 输出前面是Content-type: text/html\n\n ,它不是一个新的Perl脚本。 它正在其他帐户上工作。
我想通过perl命令行(perl命令行必须在我的bash脚本中)在文件中添加PATH – / usr / local / bin / perl befporestring,我有solaris机器 在$ APIDIR / scan.pl文件之前和char之后添加 – / usr / local / bin / perl目标 – “ 请咨询如何在$ APIDIR / scan.pl之前添加PATH – / usr / local / bin / perl ,最后我会得到 新线 – my $APIDIR="/usr/local/cp/api"; remark – this line shouldn't be change my $script="/usr/local/bin/perl $APIDIR/scan.pl"; 代替 […]