簡體   English   中英

doc2pdf - 無法連接或啟動自己的偵聽器

[英]doc2pdf - unable to connect or start own listener

命令

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

產量

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

這是上傳腳本的一部分,在Apache下作為www-data運行。

單獨的命令行可以作為root從putty中正常工作

該腳本已在www-data下工作,但現在卻沒有? : - /

更新我

apt-get install sudo
sudo visudo # added "www-data ALL = NOPASSWD: /usr/bin/doc2pdf"

碼:

exec('sudo /usr/bin/doc2pdf -o '.$file.'.new '.$file.' 2>&1', $out);
print_r($out);

錯誤:

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

更新II

echo "127.0.1.1 $(hostname)" >> /etc/hosts
reboot

您可以使用chown命令更改/ usr / bin / doc2pdf的所有者 ,或更改www-data用戶的權限,允許以root身份運行命令而無需輸入密碼。 為此,您必須編輯/ etc / sudoers文件。 但最好不要直接編輯它。 在linux中有一個用於此的工具: visudo

$ sudo visudo

將其添加到文件的最后

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

保存文件,你就完成了。 不要忘記更改php代碼的這一行(在開頭添加sudo):

exec('sudo /usr/bin/doc2pdf -o '.$file.'.new '.$file.' 2>&1', $out);

以root身份連接到ssh

sudo visudo

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

並保存:wq

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM