HectorPrima
@HectorPrima
программист

После ftp_get не работает db_query, почему?

$conn = ftp_connect($this->ftp);
if (ftp_login($conn, $this->login, $this->password)) {
    ftp_chdir($conn, $this->folder);
    // скачивается XML файл весом в 250mb 
    //ftp_get($conn, 'temp/' . $server_file, $server_file, FTP_BINARY)
}
ftp_close($conn);
...
// если раскомментировать ftp_get то db_query не добавляет запись
// и даже в sql лог не пишется ничего и db_insert_id = 0 
db_query("insert into options (name, sort_order) values('data', '0')");
$optionID = db_insert_id();

Версия PHP 5.3.29
Нужна именно эта т.к. движок очень старый.

Как обойти проблему?
  • Вопрос задан
  • 122 просмотра
Решения вопроса 1
InstantMedia
@InstantMedia
Либо в PHP файле попробовать
ini_set('mysql.connect_timeout', '600'); // значение в секундах

Либо в php.ini увеличить опцию mysql.connect_timeout, по умолчанию 60.
Либо в функции запроса к базе делать реконнект, используя, например, это. При этом, если ping не помог переподключиться, то делать реконнект.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
thewind
@thewind
php программист, front / backend developer
А в функции db_query не используется global $conn ?
Ответ написан
Ваш ответ на вопрос

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

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