Wie kann ich in Linux (Bullseye) auf einem Raspberry PI (Apache und PH8 ist schon installiert) shell_exec() aktivieren?
Also der Webserver läuft, ich kann PHP-Seiten aufrufen, Datenbankzugriff und phpmyadmin funktionieren auch schon.
Was nicht funktioniert ist shell_exec()
kann mir jemand sagen wie man das aktiviert?
1 Antwort
Vielleicht ist shell_exec noch auf der disable_functions=... Liste im php.ini.
Vielleicht musst Du den memory_limit Parameter im php.ini erhöhen, da je nachdem was Du aufrufen willst, einiges an Speicher benötigt wird.
Je nach User, unter welchem php tatsächlich läuft, kann es auch sein, dass der User einfach keine Permissions hat, einen bestimmten Befehl via Shell zu starten, z.B. dann wenn das zu startende Script oder Binary in einem Verzeichnis liegt, auf das der User, unter welchem php läuft, keine Zugriffsberechtigung hat. Zunächst müsstest Du also noch herausfinden, mit welchen Rechten/ User php läuft.
Die UID des effektiven Users (des aktuellen Prozesses) kannst Du mit
posix_geteuid()
oder mit
getmyuid()
abfragen.
Oder gleich den ganzen Dump machen:
print_r( posix_getpwuid(posix_geteuid()) );
wie kann ich heraus finden unter welchen Rechten PHP läuft?