用erlang开发CGI程序
以前我们用python做的一个演示产品, 以python -m CGIHTTPServer启动服务器后, cgi-bin 目录下的脚本文件根据程序员的喜好, 可以用python, scala开发:
python脚本要加个
#!/usr/bin/python
scala脚本要加个
#!/bin/sh
exec scala "$0"
"$@"
!#
那能否用erlang开发CGI脚本呢? 答案是肯定的,因为eralng提供了escrip可以直接运行erlang代码. 用如下代码测试时, python却报CGI script exit status 0x7f00 ?!
#!/usr/local/bin/escript
-export([main/1]).%% External API
main([]) ->
ensure(),
io:format("~n"),
io:format("welcome to erlang world~n").
%% Internal API
ensure() ->
code:add_patha(filename:dirname(escript:script_name())).
难道是权限问题? 可erlang脚本与同目录下的其它脚本有相同的权限啊! 而且在命令行直接运行erlang脚本却没任何问题。没办法只好研究 CGIHTTPServer.py:
发现运行完os.execve(scriptfile, args, os.environ)
#!/usr/local/bin/escript
-export([main/1]). 后, 你进程得到0x7f00错误码!!! 后经手工运行发现原来是"args" 导致 escript找不到匹配的main函数 !!! 修改如下:
%% External API
main(_) ->
ensure(),
io:format("~n"),
io:format("welcome to erlang world~n").
%% Internal API
ensure() ->
code:add_patha(filename:dirname(escript:script_name())).
修改后程序运行正常。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(9)
Erlang程序设计 [瑞典]Joe Armstrong著,月前已经拿下
下订单了。
我查了一下,与 FP 相关的书,印数都不多。SICP 4000,ML 那本 3000.
[] 匹配的是空列表,
所以才会有这个问题。
用 _ 就对了。
要买趁早,那本书的印刷量只有 3000 本。
不知道以后还会不会再印。
刚才看了评价,说翻译得不错。我也准备买一本。
erlang程序设计中文版出来了
erlang真是个好东西
http://www.erlang.org/starting.html
谢谢分享。
能不能给一些 Erlang 的入门链接,大家好学习一下。