shell — PHP: chdir (‘../’) не работает из командной строки

Я разрабатываю скрипт cron PHP, чтобы проверить, работает ли сервер или нет (Ping).

Вот мой код:

// Remonte d'un dossier
chdir('../');

// Inclusion du header pour avoir les infos de connexion à la db, fonctions, etc ...
require_once('./includes/header.php');

// Requête pour récupérer toutes les IP à pinger (Non-exclues donc)
$sReqGetAllServers = "  SELECT
*
FROM
host
WHERE
exclude_machine = :exclude_machine";

// Préparation de la requête
$oDatabase->Prepare($sReqGetAllServers);

// On bind la valeur au paramètre dans le WHERE
$oDatabase->BindValue(':exclude_machine', 'n', PDO::PARAM_STR);

// Exécution de la requête
$oDatabase->Execute();

// On associe les données dans un tableau à deux dimensions associatif
$aServers = $oDatabase->Assoc();

Итак, на первой строке мне нужно сделать chdir('../'); включить нужные файлы (header.php).

Я протестировал скрипт с Chrome и все работало нормально, но когда я запускаю скрипт с командной строкой, PHP сбрасывает эту ошибку:

[14:40] root@dev.company.local / >> php -f /web/dev/company/public_html/dasPing/cron/cron.php
PHP Warning:  require_once(./includes/header.php): failed to open stream: No such file or directory in /var/www/html/dev/diadeis/public_html/dasPing/cron/cron.php on line 7

Warning: require_once(./includes/header.php): failed to open stream: No such file or directory in /var/www/html/dev/diadeis/public_html/dasPing/cron/cron.php on line 7
PHP Fatal error:  require_once(): Failed opening required './includes/header.php' (include_path='/usr/share/php') in /var/www/html/dev/diadeis/public_html/dasPing/cron/cron.php on line 7

Fatal error: require_once(): Failed opening required './includes/header.php' (include_path='/usr/share/php') in /var/www/html/dev/diadeis/public_html/dasPing/cron/cron.php on line 7

Я искал, почему PHP бросил это, но я не могу найти никакого ответа.

Кто-нибудь знает, почему это происходит?

Спасибо !!

0

Решение

Текущий рабочий каталог будет там, где вы выполняете скрипт, а не там, где он живет. Вы можете получить каталог, содержащий скрипт, используя константу __DIR__

chdir(__DIR__ . '/../');
1

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector