$ _SERVER ['DOCUMENT_ROOT'] не работает в сценарии PHP, пробегающем крон

Использование карты и соединение должны сделать работу.

var series = { tooltipHTML: ''};
var data = {
      "district": "Karachi West",
      "visits": 13223,
      "distSubParts": [
       {
          "name": "ABC",
          "svisits": 212
       },
       {
           "name": "ZXA",
            "svisits": 1323
        }
         ]
   };


var distSubParts = data.distSubParts.map(function(item){ 
                return "<tr><th align=\"left\">Name</th>" +
                       "<td>" + item .name + "</td></tr>" +
                       "<tr><th align=\"left\">Visits</th>" +
                        "<td>" + item.svisits +" </td></tr>"    
                            }).join(' ')

series.tooltipHTML = `<center><strong> {district}</strong></center>
                            <hr />
                            <table>` +
                             distSubParts +
                            `</table>`;
26
задан ghickman 14 March 2011 в 21:07
поделиться

4 ответа

Предполагая, что вы используете скрипт непосредственно через CRON (в отличие от веб-сервера, доступа которого, доступа к HTTP-запросу, запускающему Cronjob (E.G. Cron Runing Wget)), то, конечно, он не работает.

Нет сервера, поэтому $ _ Server не установлен.

25
ответ дан 28 November 2019 в 06:04
поделиться

У меня была та же проблема .. И решения, которые я нашел в интернете, не работали с моим веб-сервером cron, поэтому мне нужно было найти другой способ легко изменить этот путь ..

И это, в основном, небольшая проблема, когда у вас есть 1-2 файла cron (можно легко редактировать путь к файлу, если необходимо), но у меня было 20 файлов cron, и когда мне нужно изменить сервер или изменить путь или smt, тогда я должен изменить все эти файлы, измените путь к ним ...

Итак, я нашел, по крайней мере, отличные решения FOR ME: я создал один файл path.php в папке cron и скопировал в него ту же папку с файлами cron, затем вы можете включить его без ошибок .

И в path.php у меня есть $path = '/server/root/path';

А потом я включаю этот path.php в мои файлы cron (у меня есть 20 файлов cron или итак)

И теперь я использую этот $ path в моих файлах cron, как показано ниже:

include 'path.php';
include $path.'/includes/db.php';

Теперь, если мне нужно изменить путь, тогда я просто откройте файл path.php , измените его и все работает.

Надеюсь, я помог кому-то, потому что решения изменили мою жизнь намного проще! Он все еще не идеален, потому что bc perfect будет, когда все будет работать автоматически, но для меня это намного проще, чем в предыдущей системе, поэтому я решил поделиться своим опытом, возможно, я смогу кому-то помочь:)!

0
ответ дан aimar 28 November 2019 в 06:04
поделиться

Вы можете заполнить население $ _server ['document_root'] самостоятельно

$_SERVER['DOCUMENT_ROOT'] = dirname(__FILE__);

, если файл cron находится в корне в документе

$_SERVER['DOCUMENT_ROOT'] = dirname(dirname(__FILE__));

, если файл cron - это один каталог выше корня документа

66
ответ дан 28 November 2019 в 06:04
поделиться
121 --- 4667822-

$ _ Server нельзя будет содержать любой из Нормальные значения Когда скрипт PHP работает с использованием интерпретатора CLI. Либо поставьте путь в переменной среды или передайте ее в сценарий в качестве аргумента командной строки.

7
ответ дан 28 November 2019 в 06:04
поделиться
Другие вопросы по тегам:

Похожие вопросы: