gpt4 book ai didi

php - doc2pdf - 无法连接或启动自己的监听器

转载 作者:IT王子 更新时间:2023-10-29 00:53:01 24 4
gpt4 key购买 nike

命令

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

关于php - doc2pdf - 无法连接或启动自己的监听器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32402851/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com