Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: plik php w bashu
Forum PHP.pl > Forum > PHP
uczeń php
Mam taki oto problem. Mam napisany plik w php. Chciałbym go odpalać za pomocą crona. Ale jak słusznie się domyślam to ten plik nie może być napisany w php tylko musi być napisany w bashu. Czy mam polecenia i funkcje w php zastąpić funkcjami i poleceniami basha ? a może da się jakoś zainicjować działanie pliku php z poziomu basha. W php istnieje taka funkcja jak: shell_exec. A czy w bashu istnieje analogiczna funkcja do wywoływania a raczej do wykonywania skryptów php ?
Quadina
Można uruchomić kod php z crona np.:

# crontab -e
*/2 * * * * php /sciezka/do/skryptu/najlepiej/bezwzgledna/skrypt.php z_roznymi parametrami_nawet moze_sie_on_tutaj_pojawic
strife
Nie musi być napisany w bashu, za pomocą crona możesz odpalić każdy plik nie musi być on /bin/bash

np. (mój stary wpis z crona)

Kod
10 4 * * * /usr/bin/php /home/strife/reminder.php >> /home/strife/logs/reminder_`date +\%Y\%m`.log


Ostatni fragment to zwrócenie strumienia do pliku >> (podwójne oznacza dopisanie do pliku)
uczeń php
mam coś takiego
0 0 1 * * /home/wewebpl/public_html/jacek/arch.php
a oto komunikaty błędów
/home/wewebpl/public_html/jacek/arch.php: line 1: ?php: No such file or directory
/home/wewebpl/public_html/jacek/arch.php: line 2: syntax error near unexpected token `'funkcje.php''
/home/wewebpl/public_html/jacek/arch.php: line 2: `require('funkcje.php');'
i sam zgłupiałem już
mmica
Hey ;]
Skrypty PHP możesz odpalać z konsoli. Pierwsze co musisz zrobić, to zainstalować sobie pakiet 'php5-cli'. W systemach debiano-podobnych wyglądałoby to tak:
Kod
# aptitude install php5-cli

Skrypt w cronie wywołujesz tak:
Kod
php ./skrypt.php


Pozdrawiam,
mmica

//edit: Będziesz musiał jeszcze odtworzyć configi Apache:
Kod
dpkg -i --force-confnew --force-confmiss /ścieżka/do/apache.deb

Pakiet powinieneś znaleźć gdzieś w '/var/cache/apt/archives/'.
uczeń php
hosting mam na http://www.netmark.pl/index.php i jak bym nie próbował to i tak mi nic nie wychodzi
strife
Cytat(uczeń php @ 5.12.2010, 16:57:18 ) *
hosting mam na http://www.netmark.pl/index.php i jak bym nie próbował to i tak mi nic nie wychodzi

A próbowałeś tak jak Ci wcześniej radziliśmy? Chodzi o to, że Twój kod nie wie w czym ma się wykonywać:

Kod
0 0 1 * * /home/wewebpl/public_html/jacek/arch.php


Zapomniałeś dodać /usr/bin/php (to jest ścieżka gdzie znajduje się php na serwerze)

Kod
0 0 1 * *  /usr/bin/php /home/wewebpl/public_html/jacek/arch.php


Tak zrobiłeś i nadal jest jakiś błąd (jaki?) ?

W ostateczności zgłoś się z tym problemem do swojego hostingu winksmiley.jpg
uczeń php
Dzięki za pomoc już działa wszystko jak należy!!! smile.gif
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.