如何解决不能在 crontab 任务中使用 WeasyPrint 命令作为 www-data
我在 Debian buster 上将 www-data 用于我的 crontab 任务并且它可以工作,但是对于包含一些 的任务WeasyPrint 命令,它显示消息
sh: 1: weasyprint: 未找到
其他用户可以将 Weasyprint 与 crontab 一起使用,但 www-data 不能,我也不知道为什么。
我的 PHP 代码中不能用作 www-data 的部分
exec('weasyprint "'.$servicesdir.$my_file_name.'.html" "'.$servicesdir.$my_file_name.'.pdf"');
$servicedire 是我项目的 tmp 目录的位置。
这相当于:
weasyprint ./tmp/foo.html ./tmp/foo.pdf
crontab -e 作为 root 用户:
*/10 * * * * su www-data -s /bin/bash -c "/usr/bin/php /var/www/apps/services/myproject/foo.php" > /var/www/应用程序/服务/myproject/foo.error.log 2>&1
WeasyPrint 是一个 python 包。
编辑 21/06/2021 :
好的,我终于找到了为什么它不起作用。
问题不是在这种情况下没用的 PYTHONPATH
但是我的 exec 中有一个 python3 -m weasyprint
允许 python 找到这个包。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。