ivanshumakov
@ivanshumakov
Делаю свои первые шаги в мире IT

Почему при запуске скрипта с помощью планировщика Windows выпадает ошибка?

На WAMP сервере лежит скрипт, который забирает данные с SQL server (на другом компьютере) и записывает к себе в MySQL. Скрипт работает при запуске с сайта. Мне нужно запускать его через планировщик Windows. Я создаю и запускаю bat-файл, но скрипт перестает работать на стадии подключения к SQL server (работаю с PDO) без каких либо уведомлений. Когда же я удаляю из скрипта кусок с объявлением кодировки, то перехватываю ошибку: "Could not find driver". Примечательно, что подключение к MySQL (находится на том же компьютере, что и PHP) проходит гладко.
Собственно, кусок кода:
include_once $_SERVER['DOCUMENT_ROOT'] . "/../secure/luna_db_data.php";
try {
    $luna_pdo = new PDO($luna_db_dsn, $luna_db_username, $luna_db_password);
} catch(PDOException $e) {
    echo 'Error: ' . $e->getMessage() . '<br>';
}

include_once $_SERVER['DOCUMENT_ROOT'] . "/../secure/isa_db_data.php";

try {
    $isa_pdo = new PDO($isa_db_dsn, $isa_db_username, $isa_db_password);
} catch(PDOException $e) {
    echo 'Error: ' . $e->getMessage() . "<br>";
}
$isa_pdo->setAttribute(PDO::SQLSRV_ATTR_ENCODING, PDO::SQLSRV_ENCODING_UTF8);

bat:
start "email reminder task" "C:\wamp64\bin\php\php7.1.29\php.exe" -f C:\www\draft\incremental_update.php

В чем проблема?
  • Вопрос задан
  • 62 просмотра
Решения вопроса 1
ThunderCat
@ThunderCat Куратор тега PHP
{PHP, MySql, HTML, JS, CSS} developer
0) start "email reminder task" "C:\wamp64\bin\php\php7.1.29\php.exe" -f C:\www\draft\incremental_update.php>>C:\www\draft\incremental_update.log
1) Для cli php используется другой php.ini нежели для "через апач", возможно просто разные настройки
2) Пути, проверьте что у вас в $_SERVER['DOCUMENT_ROOT'], оно может вообще хз куда показывать из cli
3) Проверьте или установлен вывод ошибок, может оно что пишет, но только в лог(лог еще гляньте)
пока больше мыслей нет...
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы