Phantomjs - 没有这样的文件或目录(我错过了什么)

Joh*_*nny 4 linux debian install phantomjs

我可以请求在共享托管服务器上设置phantomjs一点帮助吗?

让我来看看我做了什么,然后问我的问题.

采取的步骤......

使用'Putty'来检查我的服务器的架构,就像这样......

uname –m        // x86_64
cat /etc/issue  // Debian GNU/Linux 6.0 \n \l
Run Code Online (Sandbox Code Playgroud)

我下载了"phantomjs-1.9.8-Linux的x86_64.tar.bz2"的64位版本从这个页面https://bitbucket.org/ariya/phantomjs/downloads

将该文件放在我服务器上的文件夹中并在Putty中运行下一个命令...

tar -jxvf phantomjs-1.9.8-linux-x86_64.tar.bz2
Run Code Online (Sandbox Code Playgroud)

提取并创建了一个目录结构的文件,看似没有错误.我改为那个目录并运行ls.phantomjs文件是列出的唯一文件.

我用Putty检查了文件......

file phantomjs 
Run Code Online (Sandbox Code Playgroud)

哪个回来了

ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.9, stripped
Run Code Online (Sandbox Code Playgroud)

进入

echo "$PWD/phantomjs"
Run Code Online (Sandbox Code Playgroud)

给我

/homepages/24/someNumber/htdocs/cabs/mySite/phantom/bin/phantomjs
Run Code Online (Sandbox Code Playgroud)

接下来我试过了

/homepages/24/someNumber/htdocs/cabs/mySite/phantom/bin/phantomjs -–version
Run Code Online (Sandbox Code Playgroud)

结果是" 没有这样的文件或目录 "错误......

-bash: /homepages/24/someNumber/htdocs/cabs/mySite/phantom/bin/: No such file or directory
Run Code Online (Sandbox Code Playgroud)

但是,如果我进入

/homepages/24/someNumber/htdocs/cabs/mySite/phantom/bin/
Run Code Online (Sandbox Code Playgroud)

然后我明白了

/homepages/24/someNumber/htdocs/cabs/mySite/phantom/bin/: Is a directory
Run Code Online (Sandbox Code Playgroud)

可能是一个linux新手请问我出错的地方.自述文件提到在5分钟内启动并运行.所以,我有一种可怕的感觉,我错过了一些基本的东西.

谢谢.

编辑

幻像目录中的权限

-rwxrwxrwx 1 u387xx ftpusers 38346752 Oct 24  2014 phantomjs
Run Code Online (Sandbox Code Playgroud)

权限

/homepages/24/someNumber/htdocs/cabs/mySite directory (specifically for the phantom folder)

drwxr-xr-x  7 u387xx ftpusers   4096 Jul 13 11:35 phantom
Run Code Online (Sandbox Code Playgroud)

编辑

在Putty中,在phantom/bin目录中,如果我运行〜/ phantomjs

**/aHigherUpFolder**/homepages/24/someNumber/htdocs/phantomjs: No such file or directory
Run Code Online (Sandbox Code Playgroud)

有趣的是,现在路径上还有另一个目录.但是,试着......

/aHigherUpFolder/homepages/24/someNumber/htdocs/cabs/mySite/phantom/bin/phantomjs --version
Run Code Online (Sandbox Code Playgroud)

仍然引导我进入'没有这样的文件......'的消息.

小智 5

我反过来有这个确切的问题.我不小心下载了64位盒子的32位版本.这里讨论了潜在的问题:

https://askubuntu.com/questions/454253/how-to-run-32-bit-app-in-ubuntu-64-bit

基本上,对于缺少一些基本库的二进制文件来说,这只是一个错误的错误消息.


Joh*_*nny 3

我不确定回答你自己的问题是否正确。然而,我对自己在这方面花费的时间感到不满,如果我能为其他人提供一些线索,我认为这是一件好事。

我最初问题的目标是产生结果......

1.9.8
Run Code Online (Sandbox Code Playgroud)

当进入时

phantomjs -v
Run Code Online (Sandbox Code Playgroud)

进入腻子。

基本上,无论出于什么原因,我需要 32 位版本的 phantomjs 文件。虽然我确实是 Linux 新手,但我认为我已经明智地处理了事情并确定我需要 64 位版本,但显然不是。

出于绝望/沮丧,我从问题中的链接下载了 phantomjs-1.9.8-linux-i686.tar.bz2 并按照上述过程提取存档。

我将目录更改为 phantomjs/bin 文件夹并输入...

phantomjs -v
Run Code Online (Sandbox Code Playgroud)

急忙,马吉科...

1.9.8
Run Code Online (Sandbox Code Playgroud)

出现在腻子中。

我不知道为什么 64 位版本不起作用。也许它被某种方式损坏了,但我对此表示怀疑。我已经想到了这一点并重新下载了该文件多次。

感谢那些提出意见并帮助我的人。我保证我确实从他们身上学到了一些东西。他们每个人都+1。

编辑

也只是为了用 PHP 确认事情......

$output = exec($path . "phantomjs -v" . ' 2>&1');
var_dump($output);
Run Code Online (Sandbox Code Playgroud)

还生成预期的文件版本信息。