Sziasztok!
Van egy csomó php fájlom, amit szeretnék Cronnal lefuttatni. Ezért írtam egy fájlt, és azt akarom meghívni:
crontab.sh
#!/bin/bash
php="/usr/bin/php -f"
home="/srv/www/www.xy.hu/xml"$php $home/vmi1.php
$php $home/vmi2.php
$php $home/vmi3.php
$php $home/vmi4.php
$php $home/vmi5.php
/etc/crontab
50 1 * * * root sudo -u '#10002' /srv/www/www.xy.hu/xml/crontab.sh > /root/xml.log 2>&1;
xml mappa: 777, tulajdonos 10002
xml/crontab.sh: 755, tulajdonos 10002
includeclass.php 664, tulajdonos 10002
xml/vmi1.php 664, tulajdonos 10002
xml/vmi1.php
include('../includeclass.php');
xml.log
Warning: include(): Unable to access ../includeclass.php in /srv/www/www.xy.hu/xml/vmi1.php on line 4
PHP Warning: include(../includeclass.php): failed to open stream: No such file or directory in /srv/www/www.xy.hu/xml/vmi1.php on line 4
Ötlet?
- 1399 megtekintés
Hozzászólások
Próbád meg abszolút elérési úttal includeolni a filet és megnézni, hogy azzal mit csinál. A php-ben irgalmatlanul gáz az elérési út kezelés.
--
"Maradt még 2 kB-om. Teszek bele egy TCP-IP stacket és egy bootlogót. "
- A hozzászóláshoz be kell jelentkezni
Abszolut add meg az includenak h mit includeoljon a php.
a cron a /-bol futtatja a scripted... tehat tuti nincs a /-ben includeclass.php-d..
Szal inclue ('/full_path_to_my_dir/includeclass.php');
es igy mukodni fog.
--
BSD Support Service
- A hozzászóláshoz be kell jelentkezni
dirname(__FILE__)....
t
- A hozzászóláshoz be kell jelentkezni
Köszönöm mindenki segítségét, este kiderül, hogy jó lett-e!
- A hozzászóláshoz be kell jelentkezni
Tudtommal, ha az /etc/crontab-ba írod, be akkor nem kell a root sudo "#10002", hanem megadod az usert egyszerűen, hogy a web345 user nevében fusson.
Így akkor a cron default $PATH az user $HOME-ja lesz. Ekkor ha a $HOME-hoz képest működik a ../indecludeclass.php, akkor működni fog.
Pl. a web345 usered home-ja a "/srv/www/www.xy.hu", akkor meghívod a $home/xml/vmi1.php-t, aminek le kell tudnia érni a '../includeclass.php'-t.
Ha ez így működik, akkor nagyon hamar szedd le ezeket a bődületes jogosultságokat.
--
Joe
- A hozzászóláshoz be kell jelentkezni
Most nezem... 1002... huhh... ennek meg ertelme se sok van, az owner nem fer hozza, ez igy semmikepp se jo.
A topicinditonak ajanlok egy linux alapok tanfolyast. Komolyan, nagyon sok mindent helyrerak a fejekben.
--
Ki oda vagyik, hol szall a galamb, elszalasztja a kincset itt alant.
- A hozzászóláshoz be kell jelentkezni
- A hozzászóláshoz be kell jelentkezni
ahogy mar irtak elottem, ha cli-bol futtatod a php-t, akkor az aktualis munkakonyvtar nem az inditott script konyvtara lesz alapbol, hanem orokli az aktualis munkakonyvtart a shelltol.
tehat a crontab / aktualis konyvtarabol helyesen nem lesz elerheto a ../includeclass.php
Tyrael
- A hozzászóláshoz be kell jelentkezni