以PHP方式使用C++的Web开发环境
Web development environment with C++ in PHP manner
我已经在谷歌上搜索过了,是的,是的。C++不适合web!
我正在寻找一种用C++编写web应用程序的方法,就像PHP处理它一样——根据请求编译。
我打赌它会通过CGI完成,但问题是,我如何在例如Apache中设置这样的环境?
让我们假设,我的文档根具有index.cpp
和老的Hello World
示例:
#include <iostream>
using namespace std;
void main()
{
cout << "Hello World!" << endl;
}
对localhost/index.cpp
的请求最终会将Hello World
打印到我的浏览器中。
这只是为了开发,生产应用程序会被预先编译,然后才能提供(但这是未来的问题)。
附言:我从来没有写过C++,我愿意学习。愿意通过网络开发学习。
所以您正在寻找一个C++解释器。。。嗯,我不确定有没有。C++是一种经过编译的语言,这意味着你开发源代码,然后通过一个工具(编译器)运行它来生成本地二进制文件。这些可以被操作系统调用,并且速度尽可能快——因为一切都变成了计算机已经可以理解的东西。使用PHP,"变成计算机可以理解的东西"必须在计算机执行代码时发生!
当然,这意味着你在执行过程中没有改变源代码的奢侈,你必须停止,修改,然后重新开始。对于基于web的系统,除非您将状态存储在C++应用程序中,否则情况不会太糟。如果它真的是无状态的,那么您可以终止正在运行的进程,重新编译它,然后重新启动它。
不过,对于高级用法,您可以在交互式调试器中运行该程序。其中一些允许您修改代码并自动重新编译,使其看起来就像运行PHP代码一样。困难在于将调试器设置为与系统的其他部分一起运行(即调试器启动进程的频率,而通常Apache启动进程)
所以。。。做你想做的事。我会采用调试器的方法。将apache设置为运行程序的单个实例,而不是启动新实例。这将需要CGI或FastCGI设置。完成后,您可以通过在调试器中启动进程来手动启动进程。在调用应用程序的位置设置断点。将服务编写为多线程的,这样只需要一个正在运行的实例,而不会为每个请求启动一个新实例。我建议使用FastCGI并将您的应用程序配置为FastCgiExternalServer类型。
通常,尽管您希望在Apache中保留PHP代码,并使用它来调用基于C++的服务。这为您提供了更多的安全性(就好像web服务器被黑客入侵一样,攻击者最多只能调用C++服务的入口点,他们不能完全访问所有内容,很多地方都采用这种架构)和可扩展性(因为服务可以托管在一个或多个应用程序服务器上)。
我建议在ServerFault上查询Apache配置建议。
- 如何用RISC-V GD32VF103CBT6开发板卸载精确的ADC过采样
- 我正在开发服务器,ip作为参数传递不起作用
- 用于将C++代码转换为 Web 程序集的脚本未终止
- C# DLL 从C++应用程序调用 SOAP Web 服务
- 如何使用 GPS 和指南针开发点移动算法
- AWS IoT 开发工具包:通过 TCP 端口 443 使用 MQTT
- 使用AAR的虚幻安卓开发
- 为什么开发人员将C / C ++用于嵌入式系统,而不是像Python这样的高级语言与C相比?
- OpenCV(C++)处理来自JavaScript / Web Assembly的图像数据
- 开发C++/地图中的控制台角色扮演游戏
- 如何为C Web开发配置LAMPP
- 我想将使用 VTK、C++ 和 QT 开发的桌面应用程序移植到 Web 应用程序
- 在使用 axis2c 开发 Web 服务时,如何访问轴骨架代码中的服务参数
- 以PHP方式使用C++的Web开发环境
- 基于linux的HTML web客户端的QT REST开发
- 为什么我们不能使用 C++ 进行 Web 开发?
- 高性能Web Spider的开发
- 用c++ cgi进行web开发真的会有巨大的性能提升吗?
- node.js在web开发环境中的位置
- VB.NET中开发的Web服务未选择更新的DLL