есть код:
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <netdb.h>
#include <arpa/inet.h>
#include <string.h>
#include <sys/stat.h>
#include <fcntl.h>
char webPage[]=
"HTTP/1.1 200 OK\r\n"
"Content-Type:text/html;charset=UTF-8\r\n\r\n"
"<!DOCTYPE html>\r\n"
"<?php phpinfo(); ?>"
"<html><head><title>SERVA4ok</title>\r\n"
"<style>body{background-color:#FFFF00}</style></head>\r\n"
"<body><center><h1>SERVER</h1><br>\r\n";
//"<img src=\"doctest.png\"></center></body></html>\r\n"
int main(int argc,char *argv[])
{
struct sockaddr_in server_addr,client_addr;
socklen_t sin_len=sizeof(client_addr);
int fd_server,fd_client;
char buf[2048];
int fdimg;
int on=1;
fd_server=socket(AF_INET,SOCK_STREAM,0);
if(fd_server<0)
{
perror("socket");
}
setsockopt(fd_server,SOL_SOCKET,SO_REUSEADDR,&on,sizeof(int));
server_addr.sin_family=AF_INET;
server_addr.sin_port=htons(7500);
server_addr.sin_addr.s_addr=htonl(INADDR_ANY);
if(bind(fd_server,(struct sockaddr *)&server_addr,sizeof(server_addr))==-1)
{
perror("bind");
close(fd_server);
exit(1);
}
if(listen(fd_server,10)==-1)
{
perror("listen");
close(fd_server);
exit(1);
}
while(1)
{
fd_client=accept(fd_server,(struct sockaddr *)&client_addr,&sin_len);
if(fd_client==-1)
{
perror("Connection failed ... \n");
continue;
}
printf("Got client connection ...\n");
if(!fork())
{
close(fd_server);
memset(buf,0,2048);
read(fd_client,buf,2048);
printf("%s\n",buf);
write(fd_client,webPage,sizeof(webPage)-1);
close(fd_client);
printf("closeing....");
exit(0);
}
close(fd_client);
}
return 0;
}
с ХТМЛ все работает но не с ПХП помогите пожалуйста с чем сможете
Поскольку в вашем коде нету даже намека на парсинг заголовков запроса, писать про полноценный CGI интерфейс не стану. Вот для начала такая идея:
popen();
труба к php интерпретатору (первым аргументом путь к интерпретатору). Получаем поток к нему (а точнее как бы два - стандартный ввод и вывод);Получите минимальный функционал. В дальнейшем, если захотите развить свой код, нужно будет парсить заголовки запроса, заменить php на php-cgi и передавать заголовки и прочую информацию через переменные окружения в интерпретатор. Через поток будете получать результат и заголовки ответа перед ним
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Мне нужно в окне рисовать таблицу в qt Я делаю так: Создаю таблицу:
Есть String lastyear в которой лежит значение 2015; Нужно к ней добавить 10 лет, чтобы получить в итоге: