Ошибка Apache SSL при попытке использовать pg_query_params ()

1

Иногда я получаю неясную ошибку от Apache при попытке выполнить запросы к моей удаленной базе данных PostgreSQL 9.3 с использованием pg_query_params() в PHP 5.3.29:

<br /> <b>Warning</b>: pg_query_params() [<a href='function.pg-query-params'>function.pg-query-params</a>]: Query failed: SSL error: block type is not 01 in <b>/index.php</b> on line <b>171</b><br />

Это происходит только периодически - запрос обычно преуспевает, поэтому я знаю, что это не синтаксис или другая проблема с моим кодом. Однако, для полноты, здесь соответствующие PHP и SQL:

...
$query = <<<POWER_TEACHERS
WITH teachers AS (
    SELECT ca.started_by_id, sus.email, sus.zip_code
    FROM   common_activityinstance ca, socrative_users_socrativeuser sus
    WHERE  ca.end_time >= $1::date
    AND    ca.end_time <  $2::date + 1
    AND    ca.started_by_id = sus.id
    AND    sus.zip_code IS NOT NULL
    GROUP BY ca.started_by_id, sus.email, sus.zip_code
    HAVING COUNT(*) >= 3
    ORDER BY random()
    LIMIT 250
), activities AS (
    SELECT ca.id, t.email, t.zip_code
    FROM   common_activityinstance ca, teachers t
    WHERE  ca.end_time >= $1::date
    AND    ca.end_time <  $2::date + 1
    AND    ca.started_by_id = t.started_by_id
)
SELECT zip_code, email
FROM (
    SELECT DISTINCT ON (s.user_uuid) s.user_uuid, a.id, a.email, a.zip_code
    FROM   students_studentresponse s, activities a
    WHERE  s.activity_instance_id = a.id
    ORDER BY s.user_uuid
) sub
GROUP BY email, zip_code
HAVING COUNT(*) >= 3
ORDER BY zip_code;
POWER_TEACHERS;
$result = pg_query_params($con, $query, array($lastWeek, $today)); // error here
...

Что может вызвать это странное поведение?

  • 0
    Это проблема сетевого транспорта. И клиент, и сервер смутно свежи? Возможно, они связаны ненадежной ссылкой? Используется ли какой-то сетевой прокси?
  • 0
    Я не уверен, что вы подразумеваете под "недавним" клиентом и сервером, но я могу успешно выполнять другие запросы с помощью pg_query_params() непосредственно перед и после сбоя вышеупомянутого запроса (связь между клиентом / сервером достаточно надежна, и там прокси не используется). Единственное отличие, которое я вижу, состоит в том, что мои успешные запросы напрямую ссылаются на глобальную переменную $_POST , тогда как в этом нет. Может ли это иметь значение? (Я хватаюсь за соломинку, потому что это очень странно.)
Теги:
ssl

1 ответ

0
Лучший ответ

В случае, если это помогает кому-либо еще, я "решил" эту проблему, перепутывая PHP, переключаясь на Node.js и используя отличный pg-native модуль. Мой запрос сверху, полностью без изменений, выполняется без каких-либо проблем.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню