Я прочитал документацию для oci_cancel, но мне кажется немного нечеткой.
oci_cancel
убивает процесс sql на сервере?
Если нет, как я могу создать скрипт, выполняющий SQL-запрос, ждет момент и если запрос превышает 10 секунд (например), отмените запрос на сервере?
Извините, если этот вопрос похож на тот, который был задан вовремя, но я не нашел удовлетворительного ответа.
PDO позволяет указать тайм-аут запроса с атрибутом «ATTR_TIMEOUT», хотя он полностью зависит от того, поддерживает ли драйвер его или нет.
В конце концов мне пришлось использовать решение, которое не знает, является ли оно лучшим, но это было смешение вещей:
Я уже использовал что-то подобное, чтобы сохранить результаты запросов в файлах CSV, а затем поднять их в переменную сеанса.
Ну, я использую этот способ, чтобы создать файл CSV с результатом запроса, отправив запрос PHP exec в фоновом режиме со сценарием в php с помощью set_time_limit (10), а затем ожидая времени (10 секунд), пока результат запроса сохранен в переменной сеанса. Если время (10 секунд) прошло, и я не получил запрос, сохраненный в переменной сеанса, я продолжаю делать следующие действия.
используйте set_time_limit, если вы хотите отменить выполнение скрипта и прочитать это об отмене запроса оракула