Autor Zpráva
luma64
Profil
Pozdravujem, môj cron, ktorý sa spustí každú hodinu vykoná spustenie export.php. Jeho podstatou je vyhodnotiť vstupné dáta, zapísať ich v súbore do adresára export, nastavený je 777. Súbor má vždy iný názov, v závisloti na dátume a čese vytvorenia. Keď spustím php v browseri, tento sa vykoná, nakoľko sa sputí pod užívateľom apache. Exportovaný súbor sa vytvorí v požadovanom adresári a má nastavenie 644. Keď sa spustí v crone, ten sa samozrejme spustí ako iný užívateľ, vtedy to zastane a spadne s chybou:

PHP Warning: fopen(export/nieco_15_05_2019_14_12.txt): failed to open stream: No such file or directory in /var/www/html/export/export.php on line 83 


Je to o právach užívateľa, ktorý spustil cron a právach apache užívateľa, treba spustiť cron apache užívateľom ? Poraďte pls, čo a ako mám nastaviť. Vďaka.
Kajman
Profil
Použijte v fopen raději celou cestu /var/www/html/export/nieco_15_05_2019_14_12.txt
Keeehi
Profil
luma64:
Ono jde o to, že ten script bude mít jiný pracovní adresář. Aktuální hodnotu můžeš zjistit
echo getcwd() . "\n";
případně změnit
chdir('/var/www/html');
Ale ta absolutní cesta je nejjednodušší a jisté řešení.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0