Befehl
$file = '/var/www/test.docx';
move_uploaded_file($uploaded_file, $file);
echo 'is file: '.is_file($file)."\n";
exec('/usr/bin/doc2pdf -o '.$file.'.new '.$file.' 2>&1', $out);
print_r($out);
Ausgang
is file: 1
Array
(
[0] => Error: Unable to connect or start own listener. Aborting.
)
Dies ist ein Teil eines Upload-Skript zu starten und als www-data
unter Apache läuft ..doc2pdf - keine Verbindung herstellen oder eigene Zuhörer
Die Befehlszeile allein funktioniert gut aus Putty als root
Die Scri pt hat unter www-data
gearbeitet, aber jetzt tut es nicht? : -/
Update I
apt-get install sudo
sudo visudo # added "www-data ALL = NOPASSWD: /usr/bin/doc2pdf"
Code:
exec('sudo /usr/bin/doc2pdf -o '.$file.'.new '.$file.' 2>&1', $out);
print_r($out);
Fehler:
sudo: unable to resolve host dyntest-amd-3700-2gb
Update II
echo "127.0.1.1 $(hostname)" >> /etc/hosts
reboot
Fügen Sie die Option '-V' zu' doc2pdf' Befehl und überprüfen Sie die Ausgabe von '$ Bereich führt zum . Außerdem erwartet 'sudo' typischerweise ein tty. Überprüfen Sie Ihre '/ etc/sudoers' Datei auf die Option 'Defaults erforderlich'. Sehen Sie sich diesen StackExchange-Beitrag an: http://unix.stackexchange.com/a/122624. –