Kom ihåg mig?
Home Menu

Menu


php shell_exec och broken pipe

 
Ämnesverktyg Visningsalternativ
Oläst 2010-07-29, 10:41 #1
abergmans avatar
abergman abergman är inte uppkopplad
Mycket flitig postare
 
Reg.datum: Feb 2010
Inlägg: 762
abergman abergman är inte uppkopplad
Mycket flitig postare
abergmans avatar
 
Reg.datum: Feb 2010
Inlägg: 762
Citat:
Ursprungligen postat av azzid Visa inlägg
Jag fick nyss i uppgift att styra upp ett problem med en webbserver. Jag tittade på det men blev inte vidare klok på problemet, varför jag vänder mig hit för att se om någon annan kanske känner igen det.

php-koden ska bara sammanställa och presentera lite siffror, dessa siffror hittas i diverse loggfiler och för att saxa loss rätt bit ur resp. loggfil används små bashscript.

En rad i php-koden ser alltså typiskt ut såhär (|awk finns där för att städa bort decimaler):
Kod:
$var = trim(shell_exec("script.sh current | gawk -F. '{print $1}'"));
och en rad i skalscriptet ser typiskt ut såhär:
Kod:
VAR=$(cat /var/log/file.log | grep $DATE | head -n1 | awk -F, {'print $3'})
Om jag kör skalscriptet från skalet så fungerar det finfint, oavsett om jag kör som root eller om jag kör som webbserverns användare, men så fort jag laddar phpkoden i en webbläsare dyker detta upp i errorloggen för apache:
Kod:
grep: writing output: Broken pipe
Genom att klippa ned koden till ett minimum har jag lyckats slå fast att det är just den första pipen i skalscriptet som genererar felet i loggen, ändrar jag t.ex. så jag pipar till något annat så får jag samma fel, fast gällande det andra kommandot (grep byts till cat t.ex.).

Någon som känner igen problemet? Eller har någon idé om hur man ska få ordning på det?
Om du byter ut variablerna mot riktiga värden, vad får du då?
abergman är inte uppkopplad   Svara med citatSvara med citat
Oläst 2010-07-29, 17:47 #2
azzid azzid är inte uppkopplad
Nykomling
 
Reg.datum: Nov 2009
Inlägg: 4
azzid azzid är inte uppkopplad
Nykomling
 
Reg.datum: Nov 2009
Inlägg: 4
Det är så rörigt på servern/i loggen just nu att det blir svårt att göra några vettiga tester. Men när jag försökt återskapa problemet med färdiga strängar istället för variabler så misslyckas jag. Kunde tom skapa en textfil och köra exakt samma kod, men då få den att fungera, så jag misstänker att det är nått tjall med loggfilerna som datat hämtas ur.

Svårt som sagt att komma vidare när testerna blir otydliga pga övermatade loggar, så lösningen kan nog få vänta en stund till.

Tack för svaret!
azzid är inte uppkopplad   Svara med citatSvara med citat
Svara


Aktiva användare som för närvarande tittar på det här ämnet: 1 (0 medlemmar och 1 gäster)
 

Regler för att posta
Du får inte posta nya ämnen
Du får inte posta svar
Du får inte posta bifogade filer
Du får inte redigera dina inlägg

BB-kod är
Smilies är
[IMG]-kod är
HTML-kod är av

Forumhopp


Alla tider är GMT +2. Klockan är nu 11:08.

Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson
 
Copyright © 2017