问题标签 [fastcgi++]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
354 浏览

c++ - 如何从 fastcgi++ 获取行 POST 请求数据

如何使用 Fastcgi++ 库从客户端获取 Row POST 请求数据并将其显示在网页上。

我试过下面的例子

但我想查看 ROW Post 数据不是以 std::map 的形式,而是以 std::string 的形式。

0 投票
1 回答
809 浏览

c++ - libfastcgipp < 加载共享库时出错

对 c++ 来说很新,不过用其他语言编码了几年。我整天都被这个问题困扰着,我似乎无法弄清楚。

当我运行此处发布的代码时:http ://www.nongnu.org/fastcgipp/doc/2.1/a00004.html 我收到以下错误消息:

加载共享库时出错:libfastcgipp.so.2:无法打开共享对象文件:没有这样的文件或目录

使用ubuntu 13.10

我可以毫无问题地构建代码,但不能运行它。有一个libfastcgipp.so.2libfastcgipp.so/usr/local/lib/

我尝试从/usr/lib/libfastcgipp.so


编辑

ldd 命令的结果...

0 投票
1 回答
147 浏览

c++ - fastcgipp < 没有输出 utf8 字符

编辑

我通过键入解决了这里的问题out << L"Swedish: å ä ö Å Ä Ö",即字符串之前的前缀 L,在这个答案中解释:C++ 中的 L 前缀到底是什么? 我现在的问题是,这是否是一个好的解决方案,或者是否有解决此问题的首选替代方案?


编码

以下来自http://www.nongnu.org/fastcgipp/doc/2.1/a00004.html的编辑方法:

原始输出

浏览器交互


如上所示,最后一个瑞典行具有输出“å ä ö Å Ä Ö”的预期行为。然而,由于某种原因,这被替换为空格。必须有一种方法可以让我不必输入该字母的 unicode 十六进制表示。

经过一些谷歌研究后,我尝试setLocale在主脚本的开头添加但没有成功。

为什么会这样?
在以上述方式编码时,如何解决能够自由使用任何 utf8 字符的问题?

0 投票
0 回答
793 浏览

c++ - FastCGI C++ / Nginx 和 C++ 应用程序之间的 IPC

我正在尝试创建一个网关,它提供一个 RESTful 接口来向通过蓝牙低功耗 (BLE) 通信的设备发送/接收消息。基本上它将 GATT 转换为 HTTP,反之亦然。

基本架构如下所示:

BLE Dongle 连接到 Linux 计算机(fe Raspberry Pi),C 程序打开到 BLE Dongle 的串行连接以发送/接收/处理消息。它使用 TCP/IP 套接字通过 IPC 接收来自 C++ 应用程序的请求,并使用此套接字将来自 BLE 设备(fe 传感器)的回复转发到 C++ 应用程序(充当每个连接的 BLE 加密狗的多线程服务器)。

C++ 应用程序保存此信息(发现的设备、连接的设备及其数据)并实现一个接口来控制基本的蓝牙低功耗功能,如发现、连接等。

客户端可以将 HTTP 请求 (GET/POST) 发送到使用 FastCGI 的 Nginx Web 服务器。我想解析这个 FastCGI 应用程序中的请求,然后与 C++ 应用程序通信以执行命令

fe 客户端打开一个 URI xyz/discover 发送一个 GET 请求。FastCGI 应用程序解析此请求并调用 C++ 应用程序的 Discover 函数以启动蓝牙低功耗发现。

我的问题是如何在 C++ 应用程序和 FastCGI C++ 应用程序之间进行最佳通信。

我的想法:

  • C++ 应用程序派生了一个执行 fcgi-spawn 的新子程序(我的 fcgi 应用程序的路径作为参数)。然后创建两个管道用于父子之间的全双工通信
  • 在两个进程之间使用命名管道
  • 将 FastCGI 功能集成到我的 C++ 应用程序中是个好主意吗?C++ 应用程序运行多个线程:一个接受新的 TCP 连接,以防连接了新的加密狗。它为每个新的 Dongle 启动一个线程。我可以创建另一个负责解析 FastCGI 请求的线程吗?

因为我从来没有真正使用过 FastCGI 和 nginx,所以我只是边学边学。因此,我将不胜感激。谢谢!

0 投票
1 回答
203 浏览

nginx - Nginx + FastGgi++

我是 Web 开发的新手,我需要知道如何配置Nginx服务器以使用它FastCgi++

我尝试使用这个示例,但我不明白我需要编译FastCgi++什么,创建FastCgi++进程需要什么,我需要传入什么Nginx等等。

请帮我找到一些分步说明/教程来解决我的问题。

0 投票
1 回答
603 浏览

c - 实现 FastCGI++ 库的守护程序的正确 Lighttpd 配置是什么?

(也发布到 FastCGI++-users 邮件列表,但是它在很长一段时间内都没有活动)

我目前正在尝试在我正在编写的应用程序中使用 FastCGI++(2.1 版)库。该应用程序将作为 linux 机器上的守护进程运行,并通过 lighttpd 提供状态网页。我打算使用 FastCGI++ 接口定期自动更新状态网页。

我已经开始向我的应用程序添加一个线程,该线程创建一个 FastCGI++ 管理器的实例,并回显一个字符串文字以响应任何请求(与 Hello World 示例基本相同)。

但是,我似乎无法在浏览器中访问它,并且我怀疑我错误地配置了 lighttpd fastcgi 模块(/etc/lighttpd/lighttpd.conf 包含在下面)。lighttpd 错误日志记录了“unix 上没有这样的文件或目录:/tmp/Myapp.sock”。

将 lighttpd 配置为与实现 fastcgi++ 库的守护进程接口的正确方法是什么?是否有必要使用 spawn-fcgi 启动守护进程?

谢谢,

麦克风

猫 /etc/lighttpd/lighttpd.conf:

0 投票
1 回答
40 浏览

apache - Apache 不执行 .fcg 文件

我使用fastcgipp制作了最基本的fastcgi程序。我把它复制到/var/www/cgi-bin. 然后我去了/etc/httpd/conf/httpd.conf

我更换了:

有了这个:

但是当我转到 时localhost/cgi-bin/index.fcg,浏览器提示我下载 fcg 文件而不是执行它。

我正在使用 Fedora 29。

编辑:这是 httpd.conf

编辑:我以某种方式让 apache 执行脚本。但是现在,服务器给了我一个 500 内部错误。因此,我检查了 error_log 文件。它说:

我检查了我的代码。我已经输出了标题。这是 main.cpp 文件:

0 投票
1 回答
43 浏览

c++ - 我可以在控制台应用程序中连接到数据库,但不能在该应用程序的 fastcgi 版本中连接

我正在制作一个将客户信息存储在数据库中的程序。我正在使用 mariadb 的 c++ 客户端mariadbpp。因为我是网络世界的新手,所以我首先制作了一个可以运行的控制台应用程序。然后我尝试制作该应用程序的 fastcgi 版本。

这是代码:

有一个奇怪的问题。在当前情况下(插入注释掉),它可以正常输出 null,因为它从未分配过 nlohnamnn::json (默认为 null)。如果我取消注释该插入,我会收到 500 内部服务器错误。这是错误日志:

有趣的是我正在使用密码。

我已禁用从网络访问数据库。我相信这是因为 Mariadb 将 localhost 计为禁用的远程请求。

PS:我知道通过 GET 传递密码不是一个好主意。我应该使用邮政。我会改变它。

0 投票
2 回答
1807 浏览

apache - 在 curl 中传递 POST 数据时请求实体太大

我有一个 fastcgi++ 服务。它通过 POST 接受 4 个参数,因为其中一个是密码。我的示例输入是 61 个字符。这就是我调用我的服务的方式:

我收到此错误:413 Request Entity too large。根据我的研究,我发现这意味着 apache 期望的身体比它得到的要小。所以,我添加LimitRequestBody 0到httpd.conf(我不在生产环境中)。但是apache还是抱怨请求实体太大。

我将 -v 添加到 curl 中,这是输出:

这是我的 httpd.conf:

这是 fcgid.conf: