如何在我的php文件中使用javascript代码从cronjobs运行url

时间:2014-05-19 01:45:10

标签: javascript php cron

我有网址,我想从cronjobs执行此网址。在我的php文件中有javascript代码导出高图。

这是我的代码:

<script>
$(function () {
            var options = {

                title: {
                    text: 'Daily Chart',
                    x: -20 //center
                },
                exporting: {
                    url: 'http://export.highcharts.com/'
                },
                xAxis: {
                    categories: [
                    'A','B',
                    ]
                },
                yAxis: {
                    title: {
                        text: 'IDR'
                    },
                },
                tooltip: {
                    valueSuffix: '°C'
                },
                series: [{
                    showInLegend: false,
                    name: 'Daily',
                    data: [
                        1,2
                    ]
                }]
            };
            var obj = {},
            exportUrl = options.exporting.url;
            obj.options = JSON.stringify(options);
            obj.type = 'image/png';
            obj.async = true;

            var link=$.ajax({
                type: 'post',
                url: exportUrl,
                data: obj,
                dataType: 'html',
                context: document.body,
                global: false,
                async:false,

                success: function (data) {
                    var result=exportUrl+data;
                    return result;
                }
            }).responseText;
            $.ajax({
                        type: 'get',
                        url: 'http://webserver2/index.php/report/render?link='+link+'&id=1',
                        data: link,
                        success: function (data2) {
                            //alert(data2); 
                        }
                    });
});
</script>

如果我在浏览器中执行它,我会将文件highcart.png发送到我的服务器。但如果我在cronjobs中执行,我什么也得不到。任何人都知道如何用cronjobs执行它?

1 个答案:

答案 0 :(得分:0)

JavaScript是一种在浏览器中运行的客户端语言。 但是,您可以使用PhantomJS之类的东西从服务器端运行js。 请看:http://phantomjs.org/

修改

here下载必要的软件包。请注意,这些是预编译的软件包,我们假设您使用的是Linux。

您只需保存幻像&#39;文件系统中的文件(可以使用crontab访问)。

将您的javascript保存为.js文件扩展名。

添加如下的cron作业:

30 08 10 06 * / path / to / phantomjs javscriptfile.js

这将于6月30日上午8:30运行(您需要在需要时安排它。)

希望这应该按预期工作,虽然看起来您使用的是jQuery函数,因此您可能需要在.js文件中包含jQuery源代码。