【发布时间】:2016-05-06 10:35:55
【问题描述】:
我尝试在 Linux 共享网络服务器(Debian,64 位)上使用可执行脚本 (wkhtmltopdf)。我很确定我编译的一切都是正确的,但是每当我想执行该文件时,我都会得到响应:
> ./wkhtmltopdf -H
-bash: ./wkhtmltopdf: No such file or directory
为了确保文件在那里,这里是 ls 输出:
> ls
wkhtmltoimage wkhtmltopdf
此外,我在上面测试了 file 命令,它输出以下内容:
> file wkhtmltopdf
wkhtmltopdf: ELF 64-bit LSB executable, x86-64, version 1 (GNU/Linux), dynamically linked (uses shared libs), for GNU/Linux 2.6.18, stripped
我现在的问题是:
为什么 bash 告诉我没有“文件或目录”,而明明有?
我的第一个猜测是共享服务器不允许执行二进制文件?但是不应该是权限问题,使用不同的 bash 输出吗?
编辑:
> id
uid=2725674(p8907906) gid=600(ftpusers) groups=600(ftpusers)
> ls -l wkhtmltopdf
-rwxrwxrwx 1 p8907906 ftpusers 39745960 Jan 20 09:33 wkhtmltopdf
> ls -ld
drwx---r-x 2 p8907906 ftpusers 44 Jan 28 21:02 .
【问题讨论】:
-
如果你的文件系统是用“noexec”选项挂载的,你会得到一个“权限被拒绝”。
-
权限是什么?
-
添加到您的问题输出中:
id和ls -l wkhtmltopdf -
看起来不错,那么您在 curr_dir 和 parent_dir 上看到的烫发呢,即。
ls -ld . ..。祝你好运。 -
尝试重新启动该 bash 实例。
标签: linux bash binary webserver wkhtmltopdf