comando
$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);
uscita
is file: 1
Array
(
[0] => Error: Unable to connect or start own listener. Aborting.
)
Questa è una parte di uno script di upload e sta funzionando come www-data
sotto Apache ..Doc2Pdf - in grado di connettersi o iniziare proprio ascoltatore
Il linea di comando funziona bene da stucco come root
Lo scri pt ha lavorato sotto www-data
, ma ora non funziona? : -/
aggiornamento I
apt-get install sudo
sudo visudo # added "www-data ALL = NOPASSWD: /usr/bin/doc2pdf"
codice:
exec('sudo /usr/bin/doc2pdf -o '.$file.'.new '.$file.' 2>&1', $out);
print_r($out);
errore:
sudo: unable to resolve host dyntest-amd-3700-2gb
aggiornamento II
echo "127.0.1.1 $(hostname)" >> /etc/hosts
reboot
aggiungere l'opzione '-V' al vostro' comando doc2pdf' e controllare l'output di '$ esterno ne . Inoltre, 'sudo' tipicamente si aspetta un tty. Controlla il tuo file '/ etc/sudoers' per l'opzione' Defaults requiretty'. Vedi questo post StackExchange: http://unix.stackexchange.com/a/122624. –