Thread View: pl.comp.lang.php
8 messages
8 total messages
Started by Jivanmukta
Fri, 29 Apr 2022 04:54
skrypt PHP uruchamiany z C++
Author: Jivanmukta
Date: Fri, 29 Apr 2022 04:54
Date: Fri, 29 Apr 2022 04:54
18 lines
1539 bytes
1539 bytes
Skrypt PHP uruchomiony w wiersza poleceń Linuxa zwraca mi inne wyniki
niż ten sam skrypt uruchomiony z tymi samymi danymi wejściowymi z C++,
funkcja popen. Nie używam w skrypcie liczb psudolosowych ani dostępu do
sieci.
Jak to wyłumaczyć?
Skrypt PHP przetwarza dane wejściowe z pliku tekstowego i wysyła (przez
echo) przetworzony tekst - dopisuje pewne napisy do tekstu.
Oto jak uruchamiam go z C++:
array<char, 128> buffer;
string result = ""; // cmd's stdout
unique_ptr<FILE, decltype(&pclose)> pipe(popen(cmdstr.c_str(),
"r"), pclose);
if (!pipe) {
throw runtime_error("popen() failed");
}
while (fgets(buffer.data(), buffer.size(), pipe.get()) != nullptr) {
result += buffer.data();
}
Re: skrypt PHP uruchamiany z C++
Author: Tomek
Date: Fri, 29 Apr 2022 07:04
Date: Fri, 29 Apr 2022 07:04
24 lines
2100 bytes
2100 bytes
W dniu 29.04.2022 o 06:54, Jivanmukta pisze:
> Skrypt PHP uruchomiony w wiersza poleceń Linuxa zwraca mi inne wyniki
> niż ten sam skrypt uruchomiony z tymi samymi danymi wejściowymi z C++,
> funkcja popen. Nie używam w skrypcie liczb psudolosowych ani dostępu do
> sieci.
> Jak to wyłumaczyć?
> Skrypt PHP przetwarza dane wejściowe z pliku tekstowego i wysyła (przez
> echo) przetworzony tekst - dopisuje pewne napisy do tekstu.
> Oto jak uruchamiam go z C++:
> array<char, 128> buffer;
> string result = ""; // cmd's stdout
> unique_ptr<FILE, decltype(&pclose)> pipe(popen(cmdstr.c_str(),
> "r"), pclose);
> if (!pipe) {
> throw runtime_error("popen() failed");
> }
> while (fgets(buffer.data(), buffer.size(), pipe.get()) != nullptr) {
> result += buffer.data();
> }
Inne środowisko, zmienne itp?
Może w C++ nie wywołuj bezpośrednio PHP tylko ten skrypt obuduj może
jeszcze skryptem shelowym.
Re: skrypt PHP uruchamiany z C++
Author: Jivanmukta
Date: Fri, 29 Apr 2022 08:00
Date: Fri, 29 Apr 2022 08:00
28 lines
2057 bytes
2057 bytes
W dniu 29.04.2022 o 09:04, Tomek pisze:
> W dniu 29.04.2022 o 06:54, Jivanmukta pisze:
>> Skrypt PHP uruchomiony w wiersza poleceń Linuxa zwraca mi inne wyniki
>> niż ten sam skrypt uruchomiony z tymi samymi danymi wejściowymi z C++,
>> funkcja popen. Nie używam w skrypcie liczb psudolosowych ani dostępu
>> do sieci.
>> Jak to wyłumaczyć?
>> Skrypt PHP przetwarza dane wejściowe z pliku tekstowego i wysyła
>> (przez echo) przetworzony tekst - dopisuje pewne napisy do tekstu.
>> Oto jak uruchamiam go z C++:
>> array<char, 128> buffer;
>> string result = ""; // cmd's stdout
>> unique_ptr<FILE, decltype(&pclose)> pipe(popen(cmdstr.c_str(),
>> "r"), pclose);
>> if (!pipe) {
>> throw runtime_error("popen() failed");
>> }
>> while (fgets(buffer.data(), buffer.size(), pipe.get()) != nullptr) {
>> result += buffer.data();
>> }
>
> Inne środowisko, zmienne itp?
nie
>
> Może w C++ nie wywołuj bezpośrednio PHP tylko ten skrypt obuduj może
> jeszcze skryptem shelowym.
>
spróbuję
Re: skrypt PHP uruchamiany z C++
Author: Jivanmukta
Date: Fri, 29 Apr 2022 08:10
Date: Fri, 29 Apr 2022 08:10
2 lines
1062 bytes
1062 bytes
Czy istnieje możliwość debugowania takiego skryptu podczas uruchomienia z C++? Nie bardzo to sobie wyobrażam, ale zapytać można.
Re: skrypt PHP uruchamiany z C++
Author: Jivanmukta
Date: Fri, 29 Apr 2022 10:27
Date: Fri, 29 Apr 2022 10:27
5 lines
1234 bytes
1234 bytes
W dniu 29.04.2022 o 10:10, Jivanmukta pisze: > Czy istnieje możliwość debugowania takiego skryptu podczas uruchomienia > z C++? Nie bardzo to sobie wyobrażam, ale zapytać można. W sumie mógłbym zapisywać teksty wykonywanych instrukcji PHP do swojego loga.
Re: skrypt PHP uruchamiany z C++
Author: Jivanmukta
Date: Fri, 29 Apr 2022 10:48
Date: Fri, 29 Apr 2022 10:48
7 lines
1380 bytes
1380 bytes
W dniu 29.04.2022 o 12:27, Jivanmukta pisze: > W dniu 29.04.2022 o 10:10, Jivanmukta pisze: >> Czy istnieje możliwość debugowania takiego skryptu podczas >> uruchomienia z C++? Nie bardzo to sobie wyobrażam, ale zapytać można. > W sumie mógłbym zapisywać teksty wykonywanych instrukcji PHP do swojego > loga. Znalazłem https://github.com/Qihoo360/phptrace
Re: skrypt PHP uruchamiany z C++
Author: radekp
Date: Wed, 04 May 2022 13:26
Date: Wed, 04 May 2022 13:26
8 lines
1560 bytes
1560 bytes
Fri, 29 Apr 2022 06:54:57 +0200, w <t4fr3h$v89d$1@portraits.wsisiz.edu.pl>, Jivanmukta <jivanmukta@poczta.onet.pl> napisał(-a): > Skrypt PHP uruchomiony w wiersza poleceń Linuxa zwraca mi inne wyniki > niż ten sam skrypt uruchomiony z tymi samymi danymi wejściowymi z C++, > funkcja popen. Nie używam w skrypcie liczb psudolosowych ani dostępu do A jaka jest różnica w wynikach?
Re: skrypt PHP uruchamiany z C++
Author: Lemat
Date: Wed, 04 May 2022 17:43
Date: Wed, 04 May 2022 17:43
36 lines
2314 bytes
2314 bytes
W dniu 29.04.2022 o 10:00, Jivanmukta pisze:
> W dniu 29.04.2022 o 09:04, Tomek pisze:
>> W dniu 29.04.2022 o 06:54, Jivanmukta pisze:
>>> Skrypt PHP uruchomiony w wiersza poleceń Linuxa zwraca mi inne wyniki
>>> niż ten sam skrypt uruchomiony z tymi samymi danymi wejściowymi z
>>> C++, funkcja popen. Nie używam w skrypcie liczb psudolosowych ani
>>> dostępu do sieci.
>>> Jak to wyłumaczyć?
>>> Skrypt PHP przetwarza dane wejściowe z pliku tekstowego i wysyła
>>> (przez echo) przetworzony tekst - dopisuje pewne napisy do tekstu.
>>> Oto jak uruchamiam go z C++:
>>> array<char, 128> buffer;
>>> string result = ""; // cmd's stdout
>>> unique_ptr<FILE, decltype(&pclose)> pipe(popen(cmdstr.c_str(),
>>> "r"), pclose);
>>> if (!pipe) {
>>> throw runtime_error("popen() failed");
>>> }
>>> while (fgets(buffer.data(), buffer.size(), pipe.get()) !=
>>> nullptr) {
>>> result += buffer.data();
>>> }
>>
>> Inne środowisko, zmienne itp?
> nie
>>
>> Może w C++ nie wywołuj bezpośrednio PHP tylko ten skrypt obuduj może
>> jeszcze skryptem shelowym.
>>
> spróbuję
ależ tak! LANG=C
--
Pozdrawiam
Lemat
Thread Navigation
This is a paginated view of messages in the thread with full content displayed inline.
Messages are displayed in chronological order, with the original post highlighted in green.
Use pagination controls to navigate through all messages in large threads.
Back to All Threads