Gibt es spezielle Berechtigungen oder Einstellungen, um ein Python-Skript auszuführen, das eine neue Datei oder ein neues Image erstellt? Dies ist mein Code:Python-Skript mit Ausgabe von PHP ausführen
<?
function py(){
exec('python my_script.py');
echo "ok";
}
py();
?>
Und das ist mein Python-Skript (ein Beispiel):
#!/usr/bin/python
import sys
f = open('out.txt', 'w')
print >> f, 'thats all'
f.close()
php Lauf i "ok" -Meldung, aber keine Datei erstellt bekommen. Was mache ich falsch?
PHP sollte vom Benutzer 'www-user' ausgeführt werden. Also würde das Python-Skript von demselben Benutzer gestartet werden. Hat 'www-user' die gewünschten Berechtigungen, um das Python-Skript auszuführen und auf das Dateisystem für die Dateierstellung zuzugreifen? – albert
Wie kann ich das überprüfen? @albert – slash89mf
Ich habe das noch nie gemacht, da ich kein PHP-Benutzer bin, also ist alles, worüber ich spreche, nur auf Gedanken basiert. Zuerst sollten Sie herausfinden, welcher Benutzer der Eigentümer des Ordners und des Skripts ist, auf das Sie zugreifen möchten. Wenn dies nicht "www-user" ist, können Sie entweder den Benutzer zu "www-user" ändern oder den gewünschten Benutzernamen an den Befehl 'exec' übergeben, wie hier [hier] (http://stackoverflow.com/questions/6913403)/running-command-line-application-from-php-as-specific-user) – albert