0

我正在使用 JQuery 调用 php 脚本。

$(document).ready(function(){
  $("button").click(function(){
    $("#div1").html("<img border='0' src='/images/ajax_loader_blue_32.gif'>");
    $.ajax({url:"process_casper.php",success:function(result){
      $("#div1").html(result);
    }});
  });
});

只有当我回显“测试”时,此代码才有效;在我的 php 脚本的顶部。当然,输出是“测试”。但是,如果我尝试让 php 脚本运行(大约需要 20 秒),则不会返回任何内容。

PHP 脚本:

    require_once("libs/simple_html_dom.php");

    $filename = "data/okbnetplaza_" . date('Y-m-d_H:i:s') . ".txt";
    exec("casperjs /root/okbnetplaza.js  --uid=removed --pin=removed > $filename");

    // Create a DOM object
    $html = new simple_html_dom();

    // Load HTML from a URL 
    $html->load_file($filename);
    foreach($html->find('td[class=txtRight]') as $td) 
    {
           foreach($td->find('.txtBold') as $val) 
           {
                echo $val->plaintext;
           }
    }

当我在命令行中运行脚本时,它只返回我需要的一行文本。

我做错了什么导致没有任何回报?

4

1 回答 1

0

事实证明,问题与权限有关。exec 命令正在创建文件,但它没有创建文件的权限。一旦我更改了要创建文件的位置的权限,那么脚本就可以工作了。

谢谢您的帮助!

于 2013-12-12T18:51:32.707 回答