doc2pdf - nicht in der Lage eigenen Hörer zu verbinden oder starten

stimmen
6

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);

Ausgabe

is file: 1
Array
(
    [0] => Error: Unable to connect or start own listener. Aborting.
)

Dies ist ein Teil eines Upload - Skript und läuft wie www-dataunter Apache ..

Die Kommandozeile arbeitet allein fein aus Kitt als root

Das Skript wird unter gearbeitet www-data, aber es funktioniert nicht jetzt? : - /

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);

Error:

sudo: unable to resolve host dyntest-amd-3700-2gb

Update II

echo 127.0.1.1 $(hostname) >> /etc/hosts
reboot
Veröffentlicht am 04/09/2015 um 15:39
vom benutzer
In anderen Sprachen...                            


2 antworten

stimmen
0

Verbinden als Root SSH

sudo visudo

hinzufügen

www-data ALL = (ALL) NOPASSWD: / usr / bin / doc2pdf

und sparen: wq

Beantwortet am 04/09/2015 um 18:39
quelle vom benutzer

stimmen
5

Sie können entweder die Eigentümer von / usr / bin / doc2pdf mit dem ändern chown Befehl oder die Privilegien erlaubt www-data Benutzer ändern Befehle als root ausführen , ohne Ihr Passwort eingeben. Um dies zu tun, müssen Sie bearbeiten / etc / sudoers - Datei. Besser geht es nicht derectly zu bearbeiten, though. Es gibt eine util in Linux für benutzte: visudo .

$ Sudo visudo

fügen Sie diese bis zum Ende der Datei

www-data ALL = NOPASSWD: / usr / bin / doc2pdf

Datei speichern und fertig. Vergessen Sie nicht, auch diese Zeile Ihres PHP-Code zu ändern (hinzufügen sudo am Anfang):

exec('sudo /usr/bin/doc2pdf -o '.$file.'.new '.$file.' 2>&1', $out);
Beantwortet am 07/09/2015 um 10:50
quelle vom benutzer

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more