Hallo,
Ik heb hierover al een topic lopen [rml]bibawa in "[ php] Shell exec met parameters"[/rml], maar men heeft me daar gezegd om het hier even te vragen .
Het probleem is het volgende:
Ik probeer via php code een .c programma uit te voeren onder linux (gentoo) waarmee ik de parallele poort van mijn computer kan aansturen.
Met mijn .c programma is niets mis als ik het uitvoer rechtstreeks op de commandline via ./kern dan doet het ding perfect wat ik ervan verwacht dat het doe.
Wanneer ik nu echter de .c code via php wil laten uitvoere dmv shell_exec('./kern'); dan loopt het mis er gebeurt helemaal niets, ik krijg totaal niets van errors, warnings etc.. er gebeurd gewooon niets.
Nu heb ik bijde bestande (aansturing.php en kern) ge-chmod naar 777 om er zeker van te zijn dat ik alle rechten heb op beide bestanden, voor de .c code uit te voeren heb je namellijk root rechten nodig.
Wanneer ik nu ls -l doe in de betrekkellijke dir dan zie ik dat kern wordt uitgevoerd onder user root van de groep root (wat perfect is) en dat aansturing.php wordt uitgevoerd onder de user ftpgebruiker van de groep ftpgroep.
Wat ik nu denk (en stilaan hoop) dat het probleem is is dat het php script onvoldoende rechten heeft om de .c te executen. Maar hoe verander ik op een bepaalde .php de gebruiker en de groep (ik zou hem dan veranderen naar root - root).
Andere ideeen , voorstellen zijn altijd welkom! (ik ken nu niet super veel van linux af maar wel een beetje dus geen hooggeleerde linux taal
)
Ik heb hierover al een topic lopen [rml]bibawa in "[ php] Shell exec met parameters"[/rml], maar men heeft me daar gezegd om het hier even te vragen .
Het probleem is het volgende:
Ik probeer via php code een .c programma uit te voeren onder linux (gentoo) waarmee ik de parallele poort van mijn computer kan aansturen.
Met mijn .c programma is niets mis als ik het uitvoer rechtstreeks op de commandline via ./kern dan doet het ding perfect wat ik ervan verwacht dat het doe.
Wanneer ik nu echter de .c code via php wil laten uitvoere dmv shell_exec('./kern'); dan loopt het mis er gebeurt helemaal niets, ik krijg totaal niets van errors, warnings etc.. er gebeurd gewooon niets.
Nu heb ik bijde bestande (aansturing.php en kern) ge-chmod naar 777 om er zeker van te zijn dat ik alle rechten heb op beide bestanden, voor de .c code uit te voeren heb je namellijk root rechten nodig.
Wanneer ik nu ls -l doe in de betrekkellijke dir dan zie ik dat kern wordt uitgevoerd onder user root van de groep root (wat perfect is) en dat aansturing.php wordt uitgevoerd onder de user ftpgebruiker van de groep ftpgroep.
Wat ik nu denk (en stilaan hoop) dat het probleem is is dat het php script onvoldoende rechten heeft om de .c te executen. Maar hoe verander ik op een bepaalde .php de gebruiker en de groep (ik zou hem dan veranderen naar root - root).
Andere ideeen , voorstellen zijn altijd welkom! (ik ken nu niet super veel van linux af maar wel een beetje dus geen hooggeleerde linux taal