C ++ — PHP-CPP: как остановить текущий запрос без использования exit (0)

Я создаю простой модуль PHP с библиотекой PHP-CPP.

Я делаю это, чтобы ограничить процесс на IP-адрес на файл сценария php. Я нашел решение для всего, что мне было нужно, кроме одной вещи: я не могу остановить сценарий чисто.

Если вы посмотрите на скрипт, он имеет выход (0); .. Если я использую, например, Php :: echo (); для написания некоторых заголовков и HTML, этот результат не возвращается в веб-браузер (или telnet).

Знаете ли вы метод для вывода некоторых заголовков и тела, а затем убить сценарий без выполнения окончательного сценария?

Большое спасибо !

#include <phpcpp.h>
#include <iostream>
#include <fstream>
#include <stdio.h>


extern "C" {


PHPCPP_EXPORT void *get_module()     {


static Php::Extension extension("dosguard", "0.9");


extension.onShutdown([]() {
system("rm -r /dev/shm/dosguard-*");
});

extension.onRequest([]() {

std::string inode = Php::call("fileinode", Php::SERVER["SCRIPT_FILENAME"]);
std::string ip = Php::SERVER["REMOTE_ADDR"];
int time = Php::call("time");

std::string shm = "/dev/shm/dosguard-"+inode+"@"+ip+".time";

int saved = Php::call("file_get_contents", shm);

if(saved >= time)   {

//////////////////////////////////////////
exit(0);
//////////////////////////////////////////

}   else    {

if(saved == NULL)   {
saved = time;
}
else    {
saved = time + 1;
}

Php::call("file_put_contents", shm, saved);

}

});


return extension;
}
}

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]