2017-12-09 15 views
0

私はcasperjsとphantomjsの世界で新しい蜂です。 私はcmdで応答を得ている間、私はPHPスクリプトから実行するたびにスクリプトからヌルを得ています。CasperjsスクリプトはPHPでnullを返します

これは、私はこれがTest.js.ある

<?php 

    putenv("PHANTOMJS_EXECUTABLE=C:/phantomjs/bin"); 
    putenv("DYLD_LIBRARY_PATH"); 

    $response=null; 
    $response=exec('C:/casperjs/bin C:/Test.js'); 
    if ($response != null) { 
     echo("Null Response"); 
    } 
    else{ 
     echo("Response : " . $response); 
    } ?> 

Test.js

という名前casperjsスクリプトと呼ばれるところからPHPスクリプトですcasperjsスクリプト

var casper = require('casper').create({ 
verbose: false, 
logLevel: "debug", 
pageSettings: { 
    loadImages: false, 
    loadPlugins: false, 
    userAgent: 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.71 Safari/537.36 Edge/12.0' 
} }); 
casper.start('https://www.google.co.in/', function(){ 
    this.echo("From Script",'INFO') 
}); 
casper.run(); 

あなたは、私がCにファントムとcasperjsをインストールしている見ることができるように:と私はすでにファントムのEnvのために、両方の のための環境変数を設定しています。変数 - C:\ phantomjs \ bin \ キャスパーエンベロープ変数 - C:\ casperjs \ bin

ありがとうございます。

+1

、修正してください。http://php.net/manual /en/function.exec.php – Vaviloff

答えて

0

あなたのPHPは次のよ​​うになります。

$response=null; 
exec('C:/casperjs/bin C:/Test.js',$response); 

@Vaviloffは、ドキュメントのページへのリンクを掲載しました。私はしばしば、明快さに欠けているPHPのドキュメントを見つけました、IMHO、exec()は重要なケースです。ここではそれが表示するものである:

string exec (string $command [, array &$output [, int &$return_var ]]) 

あなたがさらに下読めばあなたは、せいぜい、それが返す文字列であることを何かの最後の行が表示されます。レスポンスをテストするには、varを初期化し、execコマンドが書き戻すための 'コールバック' var(参照する)として参照する必要があります。 。あなたが幹部の応答が間違って取得している

あなたはまた、試してみて、バッククォートでカンニングし、私たちのENVを設定することがvarsは(またはユーザースコープでそれらを設定することができ

関連する問題