用erlang开发CGI程序

发布于 2022-08-09 21:24:22 字数 1779 浏览 14 评论 9

以前我们用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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(9

微暖i 2022-08-19 08:36:00

Erlang程序设计 [瑞典]Joe Armstrong著,月前已经拿下

巾帼英雄 2022-08-19 08:30:36

原帖由 flw 于 2008-12-5 12:45 发表

要买趁早,那本书的印刷量只有 3000 本。
不知道以后还会不会再印。

下订单了。

我查了一下,与 FP 相关的书,印数都不多。SICP 4000,ML 那本 3000.

安静被遗忘 2022-08-19 07:25:55

[] 匹配的是空列表,
所以才会有这个问题。
用 _ 就对了。

魔法唧唧 2022-08-19 07:16:52

原帖由 win_hate 于 2008-12-5 11:50 发表

刚才看了评价,说翻译得不错。我也准备买一本。

要买趁早,那本书的印刷量只有 3000 本。
不知道以后还会不会再印。

唠甜嗑 2022-08-19 06:26:44

原帖由 Magicloud 于 2008-12-5 11:01 发表

erlang程序设计中文版出来了

刚才看了评价,说翻译得不错。我也准备买一本。

筱果果 2022-08-19 02:18:47

原帖由 win_hate 于 2008-12-4 11:25 发表
谢谢分享。

能不能给一些 Erlang 的入门链接,大家好学习一下。

erlang程序设计中文版出来了

姐不稀罕 2022-08-18 02:19:56

erlang真是个好东西

听,心雨的声音 2022-08-10 11:26:13

谢谢分享。

能不能给一些 Erlang 的入门链接,大家好学习一下。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文