tag 标签: CGI

相关博文
  • 热度 20
    2016-5-11 13:28
    4477 次阅读|
    0 个评论
    首先读者需要参考博客 http://bbs.ednchina.com/BLOG_ARTICLE_3029934.HTM 的内容将 GoAhead 在 SylixOS 下正常执行。 其次编译一个 SylixOS App 工程做 cgi 程序,这里使用的工程代码如下: #include stdio.h #include stdlib.h   int main(void) {     char *data;     long m,n;     printf("Content-type: text/html/n/n") ;     printf(" TITLE mult result /TITLE ");     printf(" H3 mult  result /H3 ");     data = getenv("QUERY_STRING");       if(data == NULL) {         printf(" P error! data is not input or data error!");     } else if(sscanf(data,"m=%ldn=%ld",m,n)!=2) {         printf(" P error!data must be a number!");     } else {         printf(" P %ld * %ld = %ld ",m,n,m*n);     }     return 0; } 注:以上代码在执行中还有问题,不过作为验证 CGI 的流程已经足够,剩下的需要研究 html 相关内容。 本工程编译成功后,在 apps/goahead 目录下的 web 目录中建立 cgi-bin 目录,将其拷贝过去,如下所示(是否有后缀名称 .cgi 都无所谓): # ls cgi_test        cgi_test.cgi 修改 route.txt 文件中对 cgi 的目录设置: route uri=/cgi-bin dir=/apps/goahead/web  handler=cgi 注: dir: 是 cgi-bin 文件夹的绝对路径的上级目录,需要根据自身内容进行更改。 修改 index.html 文件,修改后内容如下: !DOCTYPE html html lang="en" head titleHome Page/title /head   body     pCongratulations! The server is up and running.p/ /body FORM  ACTION="/cgi-bin/cgi_test"     INPUT NAME="m" SIZE="5"     INPUT NAME="n" SIZE="5"BR     INPUT TYPE="submit" VALUE="OK" /FORM /html 按照开始说明的博客内容,将文件部署到相应位置,既可以实现对 cgi 的调用。 调试中的问题 goahead: 0: Cannot find CGI program: ,修改 rout.txt 文件的 cgi dir 为绝对路径 /apps/goahead/web goahead: 0: CGI process file is not executeable: , chmod 777 ./cgi_test.cgi,
  • 热度 27
    2014-10-9 11:23
    1157 次阅读|
    0 个评论
    基于XSCALE PXA270处理器平台和开源Linux系统搭建ARM-Linux物联网服务器。使用51单片机连接温湿度传感模块、LED灯等外围设备,使用基十XSCALE PXA270处理器的Up-Tech嵌入式实验箱为核心服务器运行平台。首先介绍了嵌入式设备的ARM-Linux系统搭建、守护程序和CGI程序之间的通信设计,然后详细介绍了Web服务器的搭建和网络程序设计所使用的iQuery类库和AJAX技术的设计实现。 物联网是互联网应用的扩展,是一种新兴的联网技术,其核心是物与物之间的信息通信交流,也是物与人之间的交互控制。物联网技术,主要是利用各种传感器设备,例如:无线技术、射频识别(RFID)技术,各类传感器等技术设备将物理世界中的各种信息,如温度、光强、位置等信息通过网络传输,达到物与物之间、物与人之间的信息交互目的。 要使人们能方便地访问物联网信息,监测和控制各类传感节点和电气设备,一个友好的用户界面是前提。基于B/S架构的解决方案以其客户端通用性成为构建系统的首选。本文将设计开发一个通用的基于ARM处理器平台和Linux嵌入式操作系统的物联网服务器,在硬件平台上,将使用基于XSCALEPXA270处理器的UPTECH嵌入式开发实验箱、51单片机及各种传感控制设备。在此嵌入式设备上使用ARM LinuX系统,在嵌入式Linux系统下搭建服务器,采用B/S架构,以BOA为WEB服务器,通过CGI通信方式实现远程的信息传递和智能交互。 1 系统体系结构 为了突出现代物联网服务器系统的低功耗、低成本、服务水平高、处理效率高的特点,服务器将运行在基于XSCALE PXA270处理器的UP—Tech嵌入式设备上,利用51单片机连接各种传感控制设备。 在UP-Tech嵌入式设备上移植了2.6.28内核的ARM Linux操作系统。在Linux系统上面,编写一个守护程序来与51单片机通信,从而在Linux系统上与各种传感控制设备进行通信控制。在Linux上面移植Boa WEB服务器,用来搭建用户可交互式的访问界面。使用户通过浏览器访问页面就可以实时进行查看或控制各种传感控制设备。 系统架构如图1所示。 图1 系统架构 【分页导航】 第1页: 系统体系结构 第2页: 物联网数据采集与处理子系统设计 第3页: 人机交互子系统-WEB服务器设计(1) 第4页: 人机交互子系统-WEB服务器设计(2) 2 物联网数据采集与处理子系统设计 2.1 基于51单片机的数据采集系统 在物联网终端设备方面,采用51单片机,通过其丰富的外扩接口和温度传感器、湿度传感器,以及LED灯等模块进行连接。在软件上采用“C语言+驱动库”的开发模式,通过这样的开发模式,不仅可以提高开发效率,还能很好地完成多个传感器的信息收集和处理。在连接ARM-Linux嵌入式平台方面,采用UART虚拟串口与嵌入式平台进行连接通信。 本系统的基本实现功能如下: (1)连接各个传感模块,通过输入输出接口获取传感器传递过来的信息并且记录; (2)设置定时器,在规定的单元时间内,采集各个传感设备的信息和控制设备的状态。将他们的信息、状态合成数据包,通过虚拟串口发送; (3)利通虚拟串口通信,时刻检测来自ARM-Linux平台发送过来的控制信号; (4)分析串口传递过来的数据包,检测数据来源确定是否合法,然后根据特定的控制代码对单片机和各个控制模块进行控制。 2.2 基于ARM—Linux平台的数据处理系统 ARM-Linux平台是指利用开源的Linux内核经过特定需求的裁剪后,经过交叉编译后得到一个能够运行在ARM处理器的Linux内核,同时还定制一个Linux根文件系统,整个系统容量控制在几百KB到几十MB。系统主要由三部分组成:BootLoader、ARM-Linux内核、Linux根文件系统。 在嵌入式设备上,主要的数据处理系统由守护程序实现。守护程序一方面负责接收处理单片机发送过来的信息;一方面接受WEB服务器传来的查询控制请求。 在物联网服务器端,来自客户端访问的请求,由服务器接收并检验后,将请求查询、控制指令传递给守护程序,守护程序接收到来自服务器的请求,通过验证后再向单片机发送请求查询、控制指令。 守护程序的通信过程分为两部分,第一部分为守护程序向服务端的CGI程序告知更新数据,第二部分为服务端CGI程序向守护程序发送指令控制,由守护程序监听到后执行控制程序。 【分页导航】 第1页: 系统体系结构 第2页: 物联网数据采集与处理子系统设计 第3页: 人机交互子系统-WEB服务器设计(1) 第4页: 人机交互子系统-WEB服务器设计(2) 3 人机交互子系统-WEB服务器设计 由于嵌入式设备的硬件资源一般都比较有限,不能同时处理多个用户的请求。因此,在WEB服务器的选取方面,选择一些专为嵌入式设备而开发的WEB服务器。这些服务器具有占用内存空间低、处理效率高、安全性高等优点,相当适合嵌入式应用领域。另一方面,在实际的应用当中,由于互联网的高速发展,3G网络的到来,每个人都希望可以通过手上的手持式设备来访问控制自己的物联网设备,使用一个轻量级的WEB服务器当作访问控制服务器,可以相当出色地完成任务。 3.1 服务器工作原理 嵌入式WEB服务器的体系结构采用B/S架构,也即由服务端和客户端构成。在此架构上,将会通过以下几个步骤来与WEB服务器互相通信。 (1)在客户端的浏览器(Browser)输入WEB服务器的IP地址; (2)客户端首先通过TCP发起建立连接请求,然后服务器通过认证后,确认请求合法后立即建立连接。在这个过程中,采用的是TCP/IP协议的“三次握手”方式建立连接的; (3)通过TCP/IP建立连接后,浏览器再用HTTP协议发出HTTP请求; (4)当服务器端接收到HTTP请求后,对其进行解析等操作,然后根据不同的处理结果服务器再执行相应的返回操作。 (5)客户端收到服务器的返回结果后,解析HTML数据包,然后将之显示在浏览器上。 3.2 Boa WEB服务器的移植 Boa是一个处理单任务的WEB服务器。也就是说只有在完成一个请求后才能响应另外一个连接请求,虽然无法实现并发响应,但是已经足够应付嵌入式的应用处理了。另外,Boa也是一个相当轻量级的WEB服务器,交叉编译所得到的可执行文件只有60kB左右。出于设计的精简和应用需求,Boa仅支持CGI。 在WWW.boa.org上下载boa的源代码。通过以下步骤完成其交叉编译: #tar—bxzf boa-0.94.1 3.tar. gz #cd./boa-0.94.13/src #./configure #vi./Makefile 修改CC=gcc为CC=arm-unknownlinux-gcc,CPP=gcc -E为CPP=arm-unknownlinux-cpp -E,保存退出。执行如下命令: #make #arm-linux-strip./boa 得到能在arm平台下的可执行文件boa,大小只有60KB 将可执行文件Boa下载到嵌入式设备后,还需对其进行一些配置。首先需要在/etc/boa目录下建立一个boa配置文件boa.conf。表1为Boa配置文件部分配置说明: 表1 Boa配置文件配置参数说明 【分页导航】 第1页: 系统体系结构 第2页: 物联网数据采集与处理子系统设计 第3页: 人机交互子系统-WEB服务器设计(1) 第4页: 人机交互子系统-WEB服务器设计(2) 3.3 通用网关接口CGI CGI是通用网关接口的简称。该接口定义了WEB服务器和其他可执行程序之间的通信接口标准。一般这些可执行程序我们也简称为CGI程序。在客户端浏览器上面,可以请求执行CGI程序,并会附带传送的参数。当服务器收到此请求后,执行对应的CGI程序,与此同时,会把来自客户端的传输传递给CGI程序。在服务器和CGI程序之间,他们足利用标准输入输出来实现参数传递和信息返回的。 在本物联网服务器的设计当中,CGI程序不仅仅与WEB服务器通信,它还需要和守护程序进行通信。由于守护程序是负责连接外围设备,并与之通信的,所以可以通过CGI程序来对外围设备进行通信。通过这样的通信过程实现了客户端与物联网设备终端的交互。其通信过程如下: (1)客户端利用TCP/IP协议和WEB服务器建立连接; (2)客户端利用HTTP协议发出URL指向一个CGI程序的请求; (3)服务器收到请求后,执行对应的CGI程序; (4)CGI应用程序执行,可以通过读取标准输入或环境变量(QUERY STRING)获取来自客户端的参数; (5)应用程序利用进行标准输出方式来输出返回结果给WEB服务器。 (6)WEB服务器将结果传送给客户端,完成整个请求返回过程。 3.4 网络应用程序的访问与控制 网站的访问和控制使用JavaScript语言,调用jQuery类库和利用AJAX技术,实现动态显示页面的效果。而页面的参数传递和CGI反馈都是使用JSON数据格式。 JSON即JavaScript Object Notation,它是一种轻量级的数据交换格式。本设计使用JSON数据格式中的”名称/值”对的集合为基本数据结构,它作为页面与CGI程序之间的参数传递和运算结果返回的数据格式。基本格式如下: {device:"value",model:"value",type:"value",data:“Value”} 利用jQuery类库,每隔1 s中通过请求./cgi-bin/web_cgi。得到请求结果作为当前状态。 4 总结 本文实现了一个基于ARM-Linux平台的通用物联网服务器的设计,本设计可以为用户提供通过WEB页面对物联网中数据采集的实时监测和控制功能,具有较好的实用意义。下一步将继续完善系统的功能,如:增加对更多传感器的支持,系统如何更方便地应用于不同的领域等,系统的安全性也有待完善。 【分页导航】 第1页: 系统体系结构 第2页: 物联网数据采集与处理子系统设计 第3页: 人机交互子系统-WEB服务器设计(1) 第4页: 人机交互子系统-WEB服务器设计(2)
  • 热度 25
    2014-5-20 02:42
    1205 次阅读|
    0 个评论
      远程医疗是网络科技与医疗技术相结合的产物,随着我国经济的发展、科技的进步以及进入老龄化社会的需要,发展远程医疗已成为一种必然趋势。远程医疗从使用对象上可分为:面向医院的远程医疗系统和面向家庭的远程医疗系统。面向家庭的远程医疗系统的功能包括:远程“看医生”、远程监护、远程医学信息查询/咨询等。   国外的远程家庭医疗更加注重远程“看医生”,个人/ 患者在家中就可与医生进行实时语音、图像信息交流,可实现在线检测人体生理信号并给出诊断。这种系统是以视频会议系统为核心,但目前还难以在我国普及,原因一是该系统的价格太贵,一般家庭承受不起;原因二是受到通信信道带宽的限制,国外一般使用综合业务数字网(ISDN),而我国现在普及到家庭的是普通电话系统(POTS),尽管通过这也可实现双向视频传输,但在图像分辨率、每秒传输图像桢数等方面,难以达到远程医疗的要求。作为远程医疗的重要内容之一的远程监护,其传输的只是人体生理信号,其所需的通信速度通过普通电话线就可以满足。因此,考虑到我国互联网用户呈逐年增长趋势,发展远程监护更加符合我国国情。    系统结构与功能   系统采用B/S(Browser/Server,浏览器/服务器)模式设计,使用该模式的最大好处是减少开发工作量、运行维护比较简便。将B/S模式引入嵌入式网络设计,改变了过去需要同时开发上位机和下位机软硬件的做法,现在只需要在下位机(服务器端)的嵌入式设备中集成一个微型服务器,利用HTML(超文本标记语言)设计网页模块,就可在上位机(浏览器端)使用IE等浏览器接收和解析此模板,从而为用户提供一个视觉效果好、操作方便的工作界面。   首先基于ARM9处理器S3C2410A和嵌入式Linux操作系统,设计出支持嵌入式Web Server的开发平台,再通过移植嵌入式Web Server—boa,配合数据采集和处理等模块,构造一套适用于家庭的便携式远程医疗监护终端。在监护终端,利用生物电引导电极采用标准三导联方式将人体心电信号拾取出,经导联线传输到信号调理模块,经该模块的滤波、放大后得到初级的生物电信号,再经由S3C2410自带的ADC引脚送入Web服务器模块,心电信号在此模块中经过各种运算分析后得到反映心脏特征的信号, LCD上实时的显示心电波形和病人的个人信息,同时将心电信号存储于片外Flash ROM中,终端通过以太网口接入以太网,以实现与监控中心的远程交互。系统框图如图1所示。 图1  系统框图    硬件电路设计   信号调理电路模块   心电信号的检测是属于强噪声背景下的微弱信号检测,信号具有微弱、低频、高阻抗、不稳定和随机等特点。此信号的主要频率范围为0.05~100Hz, 幅值范围为0.5~5mV。微弱的心电信号还受到多种干扰,其特征被淹没在复杂的信号之中。又由于生物电引导电极在拾取人体电信号时与人体接触会产生极化电压。因此,为了满足检测要求,信号调理电路必须要较好的抑制各种干扰、不失真的放大心电信号。本设计中,信号调理电路模块主要包括前端电路、信号放大电路和陷波电路。电路框图如图2。 图2  信号调理电路框图    前端电路   前端电路作为信号调理电路的第一级,其功能主要是为了抑制环境中的干扰噪声、提高前置放大器的共模抑制能力。缓冲放大器一般采用电压跟随器实现,其缓冲隔离作用减小了生物信号源对放大器的过高要求,提高了电路的输入阻抗,减少心电信号衰减和匹配失真。使用屏蔽层驱动电路可以较好的去除导联线屏蔽层分布电容的不等量衰减造成对放大器总CMRR(共模抑制比)的影响。由于人体本身可通过各种渠道从环境中拾取工频50Hz交流电压,在心电测量中形成交流共模干扰,这种干扰常在几伏以上,采用右腿驱动电路后能够使50Hz共模干扰电压降到1%以下。电路图如图3。 图3  前端电路     信号放大电路   信号放大电路采用两级放大,如图4,差动放大U805为前置级,同相放大U809构成第二级。根据心电信号检测的特点,通常要求放大器具有高输入阻抗、高共模抑制比、低噪声、低漂移、非线性度小、合适的频带和动态范围的性能。前置放大器的输入电阻一般要求>2兆欧,输入电阻越大,因电极接触电阻不同而引起的波形失真越小,共模抑制比就越高。由于极化电压的存在, 为防止前置放大器工作于饱和或截止区,前置级的增益不能太高,实验表明放大10倍左右效果较好。因此选用仪表放大器MAX4196,该芯片可采用单电源供电,其功耗最低达到8mA,共模抑制比为115dB,输入偏移电压为50mV,-3dB带宽可达250kHz,输入阻抗为1000MW,增益固定为10(V/V)。 图4  两极放大和滤波电路   前置放大器部分总的共模抑制比为:   其中: 放大器闭环差模增益,Ac:共模增益,CMRRD:运放本身的值;CMRRR:外电路电阻匹配精度限定的CMRR,d:电阻精度。因此在电路中,要精确匹配外电路电阻R812=R813,以使共模输出变得更小。   主放大器采用MAX4197(特性与MAX4196一样),其增益固定为100(V/V)。信号调理电路的总放大倍数为1000倍。在图4中,电容C805具有去除极化电压功能,并与电阻R820构成高通滤波电路,用于抑制直流漂移和放大器通带外的低频噪声。    陷波电路   工频干扰是心电信号的主要干扰,虽然前端电路和前置放大器已对共模干扰具有较强的抑制作用,但有部分工频于扰是以差模信号进入电路的,且频率处于心电信号频带之内,加上电极和输入回路不稳定等因数,前级电路输出的心电信号仍然存在较强的工频干扰,因此必须将其滤除。本设计采用的是无限增益多路反馈型二阶陷波器,电路如图5。 图5  陷波电路    嵌入式Web服务器模块   考虑本系统定位于家庭使用,且系统需要连续长时间工作,又由于系统需要良好的人机交互环境、存储大量数据以及支持网络通信,所以要求处理器具有功耗低、成本低、丰富的接口和支持操作系统。本设计选用ARM9处理器S3C2410A,S3C2410A主要面向手持设备以及高性价比、低功耗的应用上。其CPU内核采用的是ARM公司的16/32位ARM920T RISC处理器。ARM920T实现了MMU、AMBA总线和Harvard高速缓存体系结构,该结构具有独立的16KB指令Cache和16KB数据Cache。S3C2410A集成的片上功能主要包括:1.8V/2.0V内核供电,3.3V存储器供电,3.3V外部I/O供电;外部存储器控制器;LCD控制器提供1通道LCD专用DMA; 8通道10位ADC接口,转换速率最大为500KSPS(Kilo Sample Per Second,千采样点每秒);117位通用I/O口和24通道外部中断源;电源控制模式包括正常、慢速、空闲和掉电4种模式;支持NAND Flash的启动装载。   对心电信号采样精度的考虑主要出于对ST段异常分析处理的要求,ST段电平变化约为0.05mV,因此采样精度至少为0.025mV。当采用10位A/D转换器工作在正极性、满刻度电压为2.5V时,可分辨的最小输入电压为2.5mV,而信号调理电路放大倍数为1000倍,则输入端的最小分辨率约为0.0025mV,故S3C2410A具有的10位A/D的精度完全满足系统需求。   为了使用户能够直观的观察心电和便于控制设备,设计采用东华公司的TFT彩屏YL-LCD35套件用于人机交互界面。为满足移植操作系统以及存储心电信号、网页等数据的要求,系统外扩了64M的NAND Flash(使用一片K9F1208UOB)和64M的SDRAM(使用两片HY57V561620)。为满足终端联网的需求,选用CS8900A用于设计网络适配器,CS8900A是一个真正的单芯片、全双工的以太网解决方案产品,更方便的是在Linux内核中提供有CS8900A适配器的驱动程序。    电源部分   为增加安全性、降低功耗、节省成本,设计采用9V碱性电池供电,通过电源转换芯片AS1117-3.3将9V转换为3.3V可供给放大器芯片和S3C2410使用。    软件设计   软件设计主要包括Linux的移植,嵌入式Web Server-Boa的移植,CGI(通用网关接口)程序的设计,功能程序的设计。 图6  系统软件框图    Linux的移植   本设计采用linux-2.4.18内核。正确进行Linux移植的前提是具备一个与Linux配套、易于使用的BootLoader,它能够正确完成硬件系统的初始化和Linux的引导。本系统中采用vivi,它是由韩国MIZI公司提供的一款针对S3C2410芯片的BootLoader。   Linux内核的目录/arch中包含了所有与硬件体系结构相关的内核移植代码,目录/arch中的每个子目录代表了一种Linux支持的处理器。移植Linux到S3C2410平台主要是修改/arch/arm目录及其子目录下相关的makefile文件和配置文件。例如:修改内核根目录下的Makefile文件,指明要移植的硬件平台为ARM:ARCH:=arm,指明使用的交叉编译器CROSS_COMPILE=/opt/host/armv41/bin/armv41-unknown-linux-;修改arm/arm目录下的config.in文件,配置S3C2410的相关信息;为初始化处理器,还需在arch/arm/boot/compressed目录下添加head-s3c2410.s文件。内核修改完成后,用命令make menuconfig配置Linux,再用make zImage命令编译内核,编译通过后则在目录arch/arm/boot下生成zImage内核文件,还需利用工具软件MKCRAMFS制作cramfs文件系统。最后,在minicom终端的vivi命令行下利用load命令将内核和文件系统下载到目标系统,至此移植完成。    Boa的移植和CGI程序设计   由于嵌入式设备资源有限,并且不需要同时响应多用户请求,因此一般使用一些专门的Web服务器用于嵌入式应用设计。Boa是单任务web服务器,源代码开放,性能高,支持CGI,能为CGI程序fork出一个进程来执行,其设计目标是速度和安全,可执行代码只有约60KB。移植Boa的过程如下:从sourceforge.net上下载 boa-0.94.13,在其解压目录下生成并修改makefile文件,然后运行make得到可执行程序,利用命令armv4l-unknown-linux-strip将调试信息剥去,然后修改Boa的配置文件boa.conf,使其能支持CGI程序的运行。最后将生成的可执行程序Boa挂载到目标系统,若能成功访问静态HTML网页和运行测试用的CGI程序,则表明配置成功。   通用网关接口CGI可将Web服务器连接到外部应用程序,它主要完成两件事情:一是收集从Web浏览器发送给Web服务器的信息,并将这些信息提供给外部程序利用;二是对提出请求的Web浏览器发送程序的输出。CGI具有平台独立性、语言独立性和层次感等优点。利用CGI程序则可以实时执行并输出动态信息,且其占用资源少。CGI程序的执行过程为:浏览器将表单数据以POST方法提交给Web服务器,服务器根据收到的数据设置环境变量,并新开一子进程来执行CGI程序,CGI程序从环境变量中读取所需要的数据,通过调用用户自定义的外部功能函数完成数据处理后,再读取相应的HTML模板文件,根据注释标记将对应的数据填充到HTML文件中,生成新的HTML页面经Web服务器返回给浏览器。   为快速开发符合应用要求的CGI程序,在设计时添加了CGIC库和gd库。CGIC是一个功能强大的支持CGI开发的开放源码的标准C库。Thomas Boutell编写的gd库是标准的C语言库,具有基本的绘图等功能。为实现在网页上动态显示心电波形,将每次采集的数据经过功能程序处理后存储的同时送给CGI程序,利用gd库提供的函数来创建图像。通过在网页模块上设定刷新时间(使用HTML语言的META标记),从而实现在网页上心电波形的动态显示。    主程序设计   主程序首先完成对系统的初始化,然后阻塞监听网络接口是否有连接请求,一旦客户端发出连接请求,则在服务器端产生中断;读取网络数据,然后对网络数据进行解析,这一步主要是解析HTTP协议,需要判断连接请求是否符合服务器规定的请求格式,判断是连接请求的请求方法,判断请求的文件是否存在服务器上,判断认证信息是否正确等等;在处理A/D采集的数据这一过程中,首先要将采集后的心电信号进行滤波处理,主要是抑制心电信号中的50Hz工频干扰,再完成滤波后,将数据送到本地的LCD上显示,同时将当前的数据以网页数据的格式发送到网口。    结语   本系统的设计定位于家庭医疗监护,通过在用于生理特征信息监测的嵌入式系统中集成Web服务器实现Internet的接入,从而实现用于远程家庭医疗的监护系统。其意义在于:设计出一套价格低且易于推广的远程家庭医疗监护系统,改变目前我国家庭医疗监护落后的状况;有效提高中老年人群心血管等慢性疾病的监护水平,有利于提高中老年人群突发疾病患者的整体救治率;为医疗机构提供大量有价值的我国中老年人群疾病的原始数据进行科研工作。
  • 热度 18
    2013-12-19 23:16
    1649 次阅读|
    0 个评论
    原文地址http://www.hkcode.com/linux-bsd-notes/155 在安裝 CGI 程式時如果設定錯誤,便會看到 "500 Internal Server Error" 訊息,一般常見的錯誤可以用以下方法解決: 1. CGI 程式的權限需要設定為 711 或 755。 2. 程式的最開端有一行類似 #!/usr/bin/perl,其中 #! 是必需要的,然後確定 /usr/bin/perl 是正確的路徑,另外這行前不可以有空格或空行。 3. 如果程式本身會讀寫其他檔案,要檢查存取檔案的絕對路徑或相對路徑是否正確,以及檔案是否有權限存取。 4. 根據 HTTP 栛定,在輸出內容前要先輸出 HTTP Headers,否則便會遇上便會錯誤,在 Apache 的 error log 裡面看到的錯誤是 "Premature end of script headers",解決方法是在輸出內容前加一句: print ("Content-Type: text/html;\n\n"); 如大家發現有錯漏,或者有其他補充,觀迎回覆指教。
相关资源
  • 所需E币: 3
    时间: 2020-1-2 01:58
    大小: 291.24KB
    上传者: 16245458_qq.com
    通过CGI和Flash动态交互技术实现网络仪表数据远程实时监测的方案.描述了系统的设计框架和仪表的硬件组成,移植了ARM-Linux操作系统,选取B0a作为嵌入式WebServer,通过编写CGI程序并结合Flash无状态机制实现了远程监测功能.网络仪表数据实时监测功能的实现李振宇(安阳工学院,河南安阳455000)摘要:通过CGI和nash动态交互技术实现网络仪表数据远程实时监测的方案。描述了系统的设计框架和仪表的硬件组成,移植了ARM―Linux操作系统,选取Boa作为嵌入式WebSenrer,通过编写CGI程序并结合Flash无状态机制实现了远程监测功能。关键词:网络仪表ARM―Linux嵌入式WebServerCGIFlash网络仪表是由指针式仪表、数字仪表、智能仪表发器传递来的数据,并通过RJ45网络接口连接到Intemet。展起来的新一代仪表,它可以实现远程调试、诊断、数据远程监控端可以通过浏览器直接访问网络仪表服务采集和实时监测,从而提高生产效率和管理水平,并最……
  • 所需E币: 5
    时间: 2019-12-24 19:46
    大小: 363KB
    上传者: 二不过三
    嵌入式WEBLinux下的Cgic-Web标准库开发指导分类:C语言-网络关键字:cgic,标准库,web服务器,boa,CGI程序摘要:Linux下的web网管开发指导|版本|日期|责任人|描述|测试报告||V1.0|2009-6-21|胡都欢|创建||||||||||||||||||||功能简介Linux下的运用cgic进行web网管开发指导。应用的项目|产品名称|产品型号|产品编码|硬件版|应用场景|||||本|||JS200串口服|JS200-FE7R2R4-DC-HL|FP-32-001-038|1.0|电信级串口服务器||务器|||||||……