Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/laravel/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Laravel 如何显示来自自定义phantomjs脚本的响应_Laravel_Phantomjs_Php Phantomjs - Fatal编程技术网

Laravel 如何显示来自自定义phantomjs脚本的响应

Laravel 如何显示来自自定义phantomjs脚本的响应,laravel,phantomjs,php-phantomjs,Laravel,Phantomjs,Php Phantomjs,我似乎无法显示来自自定义.proc文件的响应。我在ubuntu的Laravel5.6上运行php phantomjs。我有一个URL端点,用于调用自定义文件,如下所示: 公共函数getLinks { $location=base_路径“幻影脚本”; $serviceContainer=serviceContainer::getInstance; $procedureLoader=$serviceContainer->get'procedure\u loader\u factory' ->crea

我似乎无法显示来自自定义.proc文件的响应。我在ubuntu的Laravel5.6上运行php phantomjs。我有一个URL端点,用于调用自定义文件,如下所示:

公共函数getLinks { $location=base_路径“幻影脚本”; $serviceContainer=serviceContainer::getInstance; $procedureLoader=$serviceContainer->get'procedure\u loader\u factory' ->createProcedureLoader$位置; $client=client::getInstance; $client->getEngine->setPath\Config::get'phantomPath'; $client->setProcedure'my_procedure'; $client->getProcedureLoader->addLoader$procedureLoader; $request=$client->getMessageFactory->createRequest; $response=$client->getMessageFactory->createResponse; $client->send$request$response; dd$response->getContent; } 这是.proc文件

var page = require('webpage').create();
var fs = require('fs');

console.log("loading...");



var url = 'http://www.example.com';

page.open(url, function (status) {

    if (status === "success") {

        var contentNeeded = page.evaluate(function () {
            return document.querySelector("h1").outerHTML;
        });


        console.log(contentNeeded);

    }


});


phantom.exit();

我想在浏览器上显示“contentNeeded”。

PhantomJS在脚本中过早退出

page.open调用是异步的,谁知道打开该url需要多少时间,所以phantom.exit会在浏览器刚刚开始打开该url后立即运行。取而代之的是在获取信息后,在回调中退出PhantomJS:

if (status === "success") {

    var contentNeeded = page.evaluate(function () {
        return document.querySelector("h1").outerHTML;
    });

    console.log(contentNeeded);
    phantom.exit();
}

尝试了它,但由于dd.console.log的结果仍然为空。从.proc文件打印/返回内容的正确方法是吗?可能不是,我对Laravel或Symphony不是很熟悉,只是指出了一个错误,如果你做得对的话,它肯定会毁掉你的脚本。PHP-wise.dd-dump and die-只是一个函数,它要么为数组打印r,要么为变量回显,然后退出PHP脚本。这就是说,我已经离开了php phantomjs包装器,取而代之的是,我将直接在phantomjs脚本上运行exec,因为我找不到任何资源。谢谢你的意见。