【发布时间】:2014-07-28 17:46:21
【问题描述】:
我正在尝试将 CasperJS 结果传递给 PHP,但它不起作用(输出为空)。
这是我的代码:
<?php
exec("casperjs test.js", $array);
print_r($array);
?>
exec 适用于任何其他命令(“echo hello”),但不适用于 casperjs。 $array 是空的,执行时间是瞬时的...
PHP 脚本当然和 test.js 在同一目录下
我猜这是路径问题,但没有任何效果...我试过“/usr/local/bin/casperjs test.js”,它返回
致命:[Errno 2] 没有这样的文件或目录;你安装了 phantomjs 吗?
有什么想法吗?
【问题讨论】:
-
它实际上是......对不起。我添加了这两行来解决这个问题:“putenv("PHANTOMJS_EXECUTABLE=/usr/local/bin/phantomjs"); putenv("DYLD_LIBRARY_PATH");"
-
@Nelty 由于重复的问题没有提供您的答案,请提供您自己的答案,如果完全解决了您的问题,请在 8 小时内接受。
-
嘿,请小心以您尝试启动它的方式启动您的刮板,casper 默认情况下往往很冗长,如果您打算解析刮板输出的任何内容,您可能会结束解析错误的东西。如果在抓取周期结束时,让 casper “访问”一个网站,这不过是程序的一个端点,并让 casper 向该端点发送一个包含你想要的信息的 POST 包,那就更好了,所以您可以存储它并确保您获得的信息格式正确。
-
@AlanChavez:如何使用 Casper 发送 POST 包?