![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 14 Pomógł: 0 Dołączył: 5.03.2010 Ostrzeżenie: (0%) ![]() ![]() |
Witam!
Chcę uruchomić na serwerze (komputer w domu, ubuntu, z xampp) poprzez stronę internetową, np. serwer Counter Strike. Robię to tak, że wpierw każę w formularzu wpisać coś potem wysłać to i po sprawdzeniu czy zostało to wpisane daje: Oczywiście serwer counter strike jest zainstalowany teraz chce go tylko uruchomić. Serwer zainstalowałem w katalogu z xampp, potem w katalogu root ale nic się nie dziaje (nie uruchamia się). Po wysłaniu formularza nic się nie dzieje, nie pokazuje żadnego błędu. Gdy chce wyświetlić zawartość $output to nic nie pokazuje. Safe_mode mam wyłączone. Proszę o pomoc ![]() |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 2 178 Pomógł: 596 Dołączył: 25.09.2009 Skąd: Piwniczna-Zdrój Ostrzeżenie: (0%) ![]() ![]() |
Po pierwsze, czemu $output jest w gravisach, a nie apostrofach, albo cudzysłowach. Po drugie do wykonania polecenia systemowego służy właśnie funkcja exec(), której argumentem jest polecenie do wykonania otoczone cudzysłowami. Na przykład
Po trzecie wcale nie trzeba instalować serwera gry w katalogach xampp'a, tylko należy ustawić zmienną środowiskową PATH, aby wskazywała na katalog z programem, który chcemy uruchomić (jak to zrobić). Po czwarte skrypt nie wyświetla błędów, bo wcale nie musi, ale jeśli dodasz na początku to te błędy się pokażą, bo bez wątpienia są. |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 14 Pomógł: 0 Dołączył: 5.03.2010 Ostrzeżenie: (0%) ![]() ![]() |
Gdy używam funkcji exec nadal to samo czyli brak jakich kolwiek rezultatów.
Po dodaniu na początku kodu tych dwóch wersów pokazuje mi tylko błąd: Notice: Undefined index: serwer in /var/www/index.php on line 5 serwer mam w katalogu www. Wklejam tu cały plik index.php:
ps gdy uruchamiam serwer z terminala to wszystko działa pięknie Ten post edytował sebas211 5.04.2010, 21:38:34 |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 2 178 Pomógł: 596 Dołączył: 25.09.2009 Skąd: Piwniczna-Zdrój Ostrzeżenie: (0%) ![]() ![]() |
Przed wysłaniem formularza tablica $_POST jest pusta. Nie ma w niej zatem index-u 'serwer', o czym informuje Cię zwrócona uwaga. Można wyrzucić linie 5, a warunek w linii 9 zastąpić
echo przy exec-u jest niepotrzebne. Instrukcja w exec ma być taka sama, jak instrukcja wprowadzona w konsoli (linii poleceń). Poza tym Cytat należy ustawić zmienną środowiskową PATH, aby wskazywała na katalog z programem, który chcemy uruchomić Podałem link, gdzie opisane jest, jak się to robi.
|
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 14 Pomógł: 0 Dołączył: 5.03.2010 Ostrzeżenie: (0%) ![]() ![]() |
Czy mógłbyś mi pomóc, lub ktokolwiek inny z tą zmienną środowiskową PATH.
Dodaję taką linijkę w pliku .bashrc: PATH=~/var/www/hlds_run:"${PATH}" Nie działa mi dalej. Czy mam coś dodać jeszcze do pliku php? Na innej stronie znalazłem, że zmienna środowiskowa może wyglądać np tak: PATH=$HOME/bin:$PATH:/usr/sbin Proszę o pomoc. Ten post edytował sebas211 7.04.2010, 21:16:43 |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 2 178 Pomógł: 596 Dołączył: 25.09.2009 Skąd: Piwniczna-Zdrój Ostrzeżenie: (0%) ![]() ![]() |
hlds_run to przecież nazwa programu, a PATH ma wskazywać na katalog, w którym ten program się znajduje. Czyli powinieneś dodać linijkę:
Kod PATH=~/var/www:"${PATH}" i tyle.
|
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 14 Pomógł: 0 Dołączył: 5.03.2010 Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 19.08.2025 - 14:12 |