За последние 24 часа нас посетили 17545 программистов и 1650 роботов. Сейчас ищут 944 программиста ...

Веб-сервер и сайт настроены правильно, но после обновы ОС возникли проблемы

Тема в разделе "Прочие вопросы по PHP", создана пользователем IlyaTheKid, 18 окт 2023.

Метки:
  1. IlyaTheKid

    IlyaTheKid Новичок

    С нами с:
    18 окт 2023
    Сообщения:
    3
    Симпатии:
    0
    Добрый день, стэк следующий:
    Windows 10
    Windows IIS
    PHP 8.1.24
    Laravel 10

    Проект настроен на работу с БД Oracle (oci8 в php для работы с клиентом 19 версии, драйвер yajra/laravel-oci). Конфиг БД был настроен, соединение устанавливалось корректно, - всё было ок, но после одного обновления windows в 3 ночи проект стал выдавать ошибку Undefined constant "yajra/pdo/oci_default" при обращении к фасаду DB, - насколько я узнал, класс обращается к переменной, если не установлен session_mode в конфиге БД, но этот параметр указан. Далее я попытался сменить эту константу на число, после чего приложение не находит уже метод oci_connect(), дальше я уже не пытался что-то там редактировать. К слову OCI_DEFAULT не виден вообще в проекте, хотя устанавливал библиотеку и настраивал драйвер в конфиге php как обычно. Резюмируя этот кусок текста подытожу, что всё работало прекрасно, но изниоткуда вылезли проблемы после обновы ОС.

    Из-за природы возникновения ошибки я не уверен насчёт того, что я должен прикрепить к посту, поэтому сделаю это по просьбе
     
  2. artoodetoo

    artoodetoo Суперстар
    Команда форума Модератор

    С нами с:
    11 июн 2010
    Сообщения:
    11.131
    Симпатии:
    1.250
    Адрес:
    там-сям
    для начала прицепи полностью лог этой ошибки с бектрейсом. и лучше восстанови как было - число вместо константы и т.п.
    --- Добавлено ---
    Бывает что обновление ОС ведет к обновлению чего-то в клиенте/драйвере, а он содержит багу. У меня так было с Debian + MS SQL client + Laravel. Пришлось писать заплатку.
    --- Добавлено ---
    https://github.com/yajra/laravel-oci8/issues/799
    пишут что надо попытаться кое-что обновить. пробовал?
    --- Добавлено ---
    вот это "после чего приложение не находит уже метод oci_connect()" помоему говорит о том, что модуль oci у тебя не загружен. это повод обновить всё что можно.
     
  3. IlyaTheKid

    IlyaTheKid Новичок

    С нами с:
    18 окт 2023
    Сообщения:
    3
    Симпатии:
    0
    Привет,
    1) насчёт обновления не очень понял. В директории проекта консоль выдаёт нужные модули при обращении к php -m, но это вообще никак не влияет на отображаемую ошибку. Библиотеку также переустанавливал (изначально все установки и так отлично работали). Команды для debian или linux вряд ли прокатят на виндус =)
    2) https://flareapp.io/share/x7KwL9K7
    3) перепробовал и другой веб-сервер (проект ведёт себя одинаково)
     
  4. IlyaTheKid

    IlyaTheKid Новичок

    С нами с:
    18 окт 2023
    Сообщения:
    3
    Симпатии:
    0
    UPD: драйвер oci8 обнаруживается через php -m, но phpinfo() его не видит, включён ли модуль или нет