[英]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
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.