Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/458.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
Javascript Cronjob没有正确运行我的脚本_Javascript_Php_Cron - Fatal编程技术网

Javascript Cronjob没有正确运行我的脚本

Javascript Cronjob没有正确运行我的脚本,javascript,php,cron,Javascript,Php,Cron,我正在编写一个简单的脚本,以选择基于服务器的最佳脚本。脚本在我的计算机上运行良好,但crontab未按预期工作 以下是我的crontab规则: ***curl-s'https://my-domain.com/server_status.php“ 这是我的: server\u status.php <?php if (isset($_POST['server_cdn'])) { if (!empty($_POST['server_cdn'])) { $path = '

我正在编写一个简单的脚本,以选择基于服务器的最佳脚本。脚本在我的计算机上运行良好,但crontab未按预期工作

以下是我的crontab规则:
***curl-s'https://my-domain.com/server_status.php“

这是我的: server\u status.php

<?php
if (isset($_POST['server_cdn'])) {
    if (!empty($_POST['server_cdn'])) {
        $path = '../player/server.txt'; 
        $f = fopen($path, "w+");
        fwrite($f, $_POST['server_cdn']); 
        fclose($f); chmod($path, 0777);
        exit();
    }
}
?>

<script>
$.getJSON("/player/servers.json", function(json) {
    var script_name = json.name;
    var script_version = json.version;
    var prefix = json.prefix;
    var _svrs = Object.keys(json.servers).length;
    var mach_available = {};

        for(i = 1; i <= _svrs; i++) {
            if (json.servers['server'+i].status == 1) {

                $.ajax({
                    url: "https://cdn" + json.servers['server'+i].cdn + "." + json.prefix + "/" + json.file,
                    type: 'POST',
                    async: false,
                    cache: false,
                    timeout: 7000,
                    error: function(){ mach_available['cdn' + json.servers['server'+i].cdn] = null; },
                    success: function(response){ 
                        mach_available['cdn' + json.servers['server'+i].cdn] = parseInt(response);
                    }
                });

            } else {
                mach_available['cdn' + json.servers['server'+i].cdn] = null;
            }
        }
        var min = Object.entries(mach_available).sort(function(x,y) {return x[1]-y[1]})[0];

        $.ajax({
            type: 'POST',
            url: '/player/server_status.php', 
            data: {"server_cdn": min[0]},
            async: true,
            success: function() { }
        }); 

    });
</script>

$.getJSON(“/player/servers.json”),函数(json){
var script_name=json.name;
var script_version=json.version;
var prefix=json.prefix;
var\u svrs=Object.keys(json.servers).length;
var mach_available={};

对于(i=1;i使用SlimerJS或PhantomJS这样的浏览器是您实现这一点的方式,您将能够在服务器端执行Javascript。

使用SlimerJS或PhantomJS这样的浏览器是您实现这一点的方式,您将能够在服务器端执行Javascript。

我可能无法正确理解这个问题,但您是否希望Javascript能够在服务器端执行n通过cron作业?Javascript将由浏览器运行,cron将只调用页面,而不是在那里运行实际的Javascript。您正在尝试从包含Javascript代码的命令行运行脚本。Javascript仅在浏览器上运行,而不是从带有curl的终端运行。那么,我应该如何在crontab上运行Javascript?为什么不运行everything服务器端?这样会使它更可靠。看看这个(非常类似)问题与答案:由于我无法使用javascriptI在服务器上编写文件,我可能无法正确理解这个问题,但您是否希望由cron作业运行javascript?javascript将由浏览器运行,cron将只调用页面,而不会在那里运行实际的javascript。您正在尝试从命令行运行脚本,而ch中包含JavaScript代码。JavaScript只在浏览器上运行,而不是在带有curl的终端上运行。那么我应该怎么做才能在crontab上运行JavaScript?为什么不在服务器端运行一切?这样会使它更可靠。看看这个(非常类似)问题和答案:因为我无法使用javascript在服务器上编写文件