Sziasztok!
Beleütköztem egy olyan problémába, hogy van egy php szkriptem, ami adott időközönként (hetente) összesít dolgokat, és azokat elküldi mail-ba a megadott címzetteknek. A problémám az, hogy az elmúlt 1 hétig tökéletesen működött. De mostanában a küldést a www-data@server.local nevével küldi, és nem azzal, ami a php szkriptbe meg van adva neki. Ha a fájlt böngészőbe kézzel lefuttatom, akkor rendesen elküldi azzal a névvel, ami a script-be van. A baj az, hogy a www-data@server.local-lal ugye nem érkezik meg a címzetthez, ami nagy probléma. A php szkript mint már írtam, biztosan jól műxik. Böngészőből.
Van valakinek esetleg tippje, hogy hol lehet a probléma?
Köszi.
Üdv.
- 3834 megtekintés
Hozzászólások
a php.ini-ben van egy [mail function] szekció. Szerintem abban okoskodjál:)
Mit csináltál amióta nem megy?
—-—-—
int getRandomNumber() {
return 4;//szabályos kockadobással választva.
} //garantáltan véletlenszerű. xkcd
- A hozzászóláshoz be kell jelentkezni
Disztribúció frissítéseken kívül semmi konfigmódosítás nem történt.
- A hozzászóláshoz be kell jelentkezni
rovid tavu megoldas lehet, hogy cron-bol wget-tel hivod a scriptet, es nem cli-bol.
cli-nel ugye aktualis user jogosultsagaival/kornyezeti valtozoival fut a script, mig webrol hivva apache-ot futtato user neveben (www-data, nobody, distrotol fugg)
szoval erdemes lenne kiprobalni azt is, hogy ba www-data userrel veszed fel a cronjobot.
illetve korul neznek mailserveretek beallitasaiban, lehet onnan is forceoltatni az eredeti feladot, lehet nalatok is ez tortenik.
/etc/hostname illetve /etc/hosts fajlok tartalmaban szerepel valahol a server.local?
Tyrael
- A hozzászóláshoz be kell jelentkezni
Először www-data-val futtattam cronba a szkriptet. Változatlan. Utána rootként, úgy sem jó.
- A hozzászóláshoz be kell jelentkezni
A -ba -be, -ban -ben különbségével ugye tisztában vagy?
- A hozzászóláshoz be kell jelentkezni
Ezzel pontosan mire akarnál célozni? Mert nem igazán jövök rá.
- A hozzászóláshoz be kell jelentkezni
Ez nagy baj... Nézzük sorban:
"Sziasztok!
Beleütköztem egy olyan problémába, hogy van egy php szkriptem, ami adott időközönként (hetente) összesít dolgokat, és azokat elküldi mail-ba mail-ben a megadott címzetteknek. A problémám az, hogy az elmúlt 1 hétig tökéletesen működött. De mostanában a küldést a
www-data@server.local
nevével küldi, és nem azzal, ami a php szkriptben meg van adva neki. Ha a fájlt böngészőben kézzel lefuttatom, akkor rendesen elküldi azzal a névvel, ami a script-be van. A baj az, hogy a
www-data@server.local
-lal ugye nem érkezik meg a címzetthez, ami nagy probléma. A php szkript mint már írtam, biztosan jól műxik. Böngészőből.
Van valakinek esetleg tippje, hogy hol lehet a probléma?
Köszi.
Üdv."
Illetve:
"Először www-data-val futtattam cronbacronban a szkriptet. Változatlan. Utána rootként, úgy sem jó."
- A hozzászóláshoz be kell jelentkezni
Ok. :-) Tudod, valahogy nem volt az éjjel kellős közepén a nyelvtani helyességre gondolni. :-) Sztem a problémafelvetésbe(n) ez nem okozott különösebb problémát. :-)
De azért köszi a figyelmeztetést.
- A hozzászóláshoz be kell jelentkezni
Az a baja, hogy két különböző php-t használsz.
Amikor böngészőn keresztül indítod, akkor a php indul, amikor meg paranccsorból, akkor a php-cli. Más konfigfájlt használnak, emiatt van különbség.
/etc/php/apache és /etc/php/cli/ alatt is van php ini, mikor böngészel, akkor az apache alatti, mikor parancssorozol, akkor a cli alatti van érvényben.
--
Ami elől menekülnek, az után szaladnak.
- A hozzászóláshoz be kell jelentkezni
Talált süllyedt. Ez a válasz meghozta gyümölcsét. Hibás volt a cli-hez tartozó php.ini állomány. Ezért nem működött. Nem tudom, hogy mi buherálta el azt az ini fájlt.
Nagyon köszi a segítséget!
- A hozzászóláshoz be kell jelentkezni
ilyen esetekben amugy jobb sajat ini-t hasznalni kb. igy:
/usr/bin/php -c /home/foo/php.ini -f /home/foo/bar.php
raadasul ki is szedheted belole a felesleges dologokat.
- A hozzászóláshoz be kell jelentkezni
Aha. Köszi! Megfontolom a tanácsod. Így biztos nem tud elállítódni.
- A hozzászóláshoz be kell jelentkezni