Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Wykoannie skryptu shell
Forum PHP.pl > Forum > PHP
Blajo
Hej

Potrzebuję przez skrypt PHP wykonać skypt shell.

Skrypt PHP:
  1. <?php
  2. $output = shell_exec("./sendsms.sh");
  3. echo $output;
  4. ?>


Skrypt Shell:
  1. smssend +48123456789 "Treść SMSa"


Logują się przez SSH do serwera, wystarczy, że wejdę do katalogu ze skrpytem, wpiszę ./skrypt.sh i SMS dochodzi.
Otwierają stronę ze skryptem PHP dostaję jako output numer telefonu i treść SMSa, ale SMS nei dochodzi.

Ktoś potrafi pomóc?
Turson
Skrypt bashowy jest w tym samym katalogu co php?
Blajo
Dokładnie tak
Mlodycompany
Może apache nie ma uprawnień do wykonania tego pliku. Spróbuj czegoś takiego i zobacz co dostaniesz na wyjściu
  1. <?php
  2. $output = shell_exec("./sendsms.sh 2&>1");
  3. echo $output;
  4. ?>
Pyton_000
shell_exec('/bin/sh ./sendsms.sh');
Blajo
@Mlodycompany

Bez 2&>1 wyświetla mi:
Kod
-- Text: Test SMS To: +48123456789


Kiedy dodam 2&>1 nie wyświetla mi się nic.

@Pyton_000
Nie pomogło
Mlodycompany
Cytat(Blajo @ 2.04.2015, 09:58:33 ) *
@Mlodycompany

Bez 2&>1 wyświetla mi:
Kod
-- Text: Test SMS To: +48123456789


Kiedy dodam 2&>1 nie wyświetla mi się nic.

@Pyton_000
Nie pomogło

Istotnie! Sory, miało być 2>&1 zamiast 2&>1
Blajo
Odpowiedź:

Kod
-- Text: Test SMS To: +48123456789 mktemp: failed to create file via template `/var/spool/sms/outgoing/send_XXXXXX': Permission denied mv: missing destination file operand after `/tmp/smsd_XK8VH5' Try `mv --help' for more information.
Mlodycompany
tak jak mówiłem, brak uprawnień. Apache działa na uprawnieniach swojego użytkownika, który ma bardzo ograniczone uprawnienia. Musisz zezwolić apachowi na zapis w /var/spool/sms/outgoing/ i powinno ruszyć
Blajo
Problem rozwiązany - Dzięki @Mlodycompany
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.