Serwer WWW z obsługą PHP

0

Dzień dobry!

Chciałbym napisać serwer WWW wraz z obsługą skryptów PHP w celu generowania dynamicznych stron WWW w przeglądarce.

Czy ma ktoś jakąś koncepcję/kod jak można zrobić obsługę PHP w Delphi? I mógłby się podzielić. Widziałem, że ktoś na forum coś takiego robił jednak nie ma do tego jakichkolwiek przykładowych listingów.

Pozdrawiam!
Patryk Kamiński

0

Wywołujesz parser PHP i odczytujesz to, co wypluje.
Jakiejś wielkiej magii tutaj nie ma.

0

Ok. A czy mogę prosić o jakiś listing lub chociażby pseudokod jak to powinno wyglądać?

2

Użyj CreateProcess, wyciągnij ze stworzonego procesu STD_INPUT_HANDLE i zapisz tam (na podobnej zasadzie co w przypadku zapisu do plików) całe żądanie HTTP. Potem wyciągnij STD_OUTPUT_HANDLE i przeczytaj odpowiedź interpretera PHP. Tyle.

2

Nie czaję - chcesz napisać serwer, ale nie potrafisz korzystać z Google :|
Może jednak daruj sobie póki co i nie porywaj się z motyką na słońce.

0

Demonical Monk_

Czy mógłbyś rozwinąć swoją myśl?

0

A czego nie rozumiesz?

0

Rozumiem, że mam uruchomić aplikację php.exe, do niej przesłać plik.php i jakoś odebrać to co mi zwróci ten php.exe. Tylko kompletnie nie rozumiem jak używać tego php.exe. Czytam o tym już pół dnia i nigdzie nie jest jasno opisane jak tego użyć.

0

No to pokaż te artykuły, gdzie jest tak strasznie niejasno opisane.

0

Chyba najlepiej było to opisane tutaj:
http://www.bbproject.net/2009/12/wlasny-serwer-www-instalacja-apache-i-php/

Na stronie PHP jest wręcz to oczywiste... szkoda tylko, że nie działa.
http://php.net/manual/en/install.windows.commandline.php

0

No ale tam masz przecież opisaną instalację Apache, a nie wykorzystanie CreateProcess...

0

Owszem. Ale póki co staram się zrozumieć jak w ogóle używa się interpretera PHP.exe.

0

Zatem co stanowi taki duży problem?
Btw, zabierasz się za pisanie serwera nigdy przedtem nie obsługując serwera... może być ciekawie.

0

Rozumiem, że nie chcesz mi pomóc podając jakiś pseudokod/listinga, a tylko w taki sposób można coś zrozumieć, więc dłuższa dyskusja nie ma sensu.

Dzięki. Można zamknąć temat.

2

Nie ogarniasz podstaw, to co Tobie da jakiś kod. Pozostaje googlować, kombinować SAMODZIELNIE I DO BÓLU. A dopiero w ostateczności pisać na forum i to z konkretami. Poza tym temat przechwycenia outputu aplikacji konsolowej jest poruszony na wszelkie możliwe sposoby na mnóstwie stron do wygooglowania.

Jeat też TUnitedCmd i inne podobne do tego komponenty. Dlatego pozostaje pogooglować i pokombinować. A skoro się tak upierasz. Oto pseudokod, którego zastosowanie w życiu poza googlowaniem rozwiąże wiele problemów wszelkiej natury:

 UseTBrain := True;

I nie zamykamy tutaj wątku. Chyba, że przeniesieniem do Kosza za wady. Zakończenie wątku zostało dokonane już jak widze, przez zaznaczenie zielonym "ptaszkiem" odpowiedzi Patryka w tym wątku.

0

Mistrzowie kochani!
Ja wszystko rozumiem jak działają serwery. Jak działa HTTP, TCP/IP. Tłukę cały dzień jak wykorzystać PHP.exe (intepreter pod win pobrany z php.net), gdyż wpisując w konsoli magiczną formułkę: C:\PHP5\php.exe -f "C:\PHP Scripts\script.php" -- -arg1 -arg2 -arg3 zaczerpniętą stąd: http://php.net/manual/en/install.windows.commandline.php nic się nie odzywa i nic nie zwraca. (Nie, nie jestem głupi i w tej komendzie wpisałem odpowiednie sciezki folderu i pliku PHP). Tu jest pierwszy problem.

Chciałbym tylko aby ktoś mi pomógł z rozwiązaniem tego z poziomu Delphi. Rozumiem, że funkcją CreateProcess mam wywołać wykonanie komendy w wierszu poleceń i ten ma mi zwrócić wykonany kod PHP przez interpreter. To drugi problem.

Jeśli uważacie, że jest to tak proste to nie będe nikomu zawracał głowy swoimi problemami. Z tego co wiem to forum jest od tego aby wymieniać się spostrzeżeniami/rozwiązaniami problemów itd.

3

Forum jest oczywiście po to żeby pomagać, ale należy używać mózgu i wykazywać chociaż trochę no takie minimum minimalistyczne malutkie samodzielności. Sprawdziłem i pisząc w google tę frazę do wyszukania execute PHP in Delphi czyli najprostsze co może przyjść do głowy, też trafiam jako pierwszą w wynikach stronę, do której powyżej link podał @Paweł Dmitruk. Czyli co, da się? :/

0

@Paweł Dmitruk Dziękuję za podesłanie linku. Akurat do tego się nie dokopałem.

1 użytkowników online, w tym zalogowanych: 0, gości: 1