doujiao1538
2014-06-19 07:08
浏览 126
已采纳

使用exec()从PHP运行PhantomJS

I've got the following script:

#!/bin/sh
export DISPLAY=:0
phantomjs --version

It try to run it from the following PHP script:

<?php
$result = shell_exec('sh test.sh'); 
echo $result;
?>

This script return the following error:

[Thu Jun 19 10:31:31 2014] [error] [client] test.sh: line 3: phantomjs: command not found

I tried to run phantomjs -v by hand in a console, and it runs fine. I checked the PATH, and phantomjs is correctly defined and found.

The execution environment is a virtual Server with LiveConfig. Can someone help me understand what I'm doing wrong ?

图片转代码服务由CSDN问答提供 功能建议

我有以下脚本:

 #!  / bin / sh 
export DISPLAY =:0 
phantomjs --version 
   
 
 

它尝试从以下PHP脚本运行它: \ n

 &lt;?php 
 $ result = shell_exec('sh test.sh');  
echo $ result; 
?&gt; 
   
 
 

此脚本返回以下错误:

  [Thu  6月19日10:31:31 2014] [错误] [客户端] test.sh:第3行:phantomjs:找不到命令
   
 
 

我试图运行 phantomjs -v 在控制台中手动运行,运行正常。 我检查了 PATH ,并正确定义并找到了phantomjs。

执行环境是一个带有LiveConfig的虚拟服务器。 有人帮我理解我的意思 我做错了吗?

  • 写回答
  • 好问题 提建议
  • 追加酬金
  • 关注问题
  • 收藏
  • 邀请回答

4条回答 默认 最新

  • dongque6377 2014-06-19 13:05
    已采纳

    Your PATH probably lacks the location for the phantomjs executable. PhantomJS is probably installed in /usr/local/bin so you need to add this to your PATH variable:

    #!/bin/sh
    export DISPLAY=:0
    PATH=$PATH:/usr/local/bin
    phantomjs --version
    

    To check what the current PATH is, you could begin the shell script with:

    #!/bin/sh
    echo $PATH
    
    评论
    解决 无用
    打赏 举报
查看更多回答(3条)

相关推荐 更多相似问题