Cron PHP végrehajtás include() Unable to access

 ( shark | 2010. szeptember 19., vasárnap - 9:41 )

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?

Hozzászólás megjelenítési lehetőségek

A választott hozzászólás megjelenítési mód a „Beállítás” gombbal rögzíthető.

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. "

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

dirname(__FILE__)....

t

Köszönöm mindenki segítségét, este kiderül, hogy jó lett-e!

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

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.

Azért egy chdir -t ne felejts el, ha cli -ben futtatod.

'lekene sslje'

azenoldalamponthu

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