Вызов неопределенной функции sqlsrv_connect(), но я вижу драйверы, когда использую phpinfoPhp

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 Вызов неопределенной функции sqlsrv_connect(), но я вижу драйверы, когда использую phpinfo

Сообщение Anonymous »

Я пытаюсь подключить веб-интерфейс к базе данных SQL Server. Однако мой веб-сервер не может вызвать функцию sqlsrv_connect() с этим сообщением об ошибке:

Неустранимая ошибка: необнаруженная ошибка: вызов неопределенной функции sqlsrv_connect () в /var/www/localhost/htdocs/login.php:8 Трассировка стека: #0 {main} добавлено в /var/www/localhost/htdocs/login.php в режиме онлайн 8.

Но когда я запускаю php -m, я вижу необходимые драйверы. Кроме того, драйверы также отображаются с помощью phpinfo():

Код: Выделить всё

Additional .ini files parsed /etc/php83/conf.d/00_curl.ini, /etc/php83/conf.d/00_mbstring.ini, /etc/php83/conf.d/00_odbc. ini, /etc/php83/conf.d/00_opcache.ini, /etc/php83/conf.d/00_openssl.ini, /etc/php83/conf.d/00_pdo.ini, /etc/php83/conf.d/00_session. ini, /etc/php83/conf.d/00_xml.ini, /etc/php83/conf.d/01_mysqlnd.ini, /etc/php83/conf.d/01_pdo_sqlite.ini, /etc/php83/conf.d/02_mysqli. ini, /etc/php83/conf.d/02_pdo_mysql.ini, /etc/php83/conf.d/docker-php-ext-pdo_sqlsrv.ini, /etc/php83/conf.d/docker-php-ext-sqlsrv.ini
Я использую этот образ Docker: namoshek/php-mssql:8.3-cli-alpine
и добавил эти команды в свой файл Docker:

Код: Выделить всё

FROM namoshek/php-mssql:8.3-cli-alpine

USER root

RUN docker-php-ext-install session
RUN apk update && apk add --no-cache apache2 apache2-utils php php-apache2 php-mysqli php-pdo_mysql php-json php-opcache session.so

RUN apk add --no-cache unixodbc unixodbc-dev

RUN echo "extension=pdo_sqlsrv" >> /usr/local/etc/php/php.ini \
&& echo "extension=sqlsrv" >> /usr/local/etc/php/php.ini

RUN echo "LoadModule php_module modules/libphp.so" >> /etc/apache2/httpd.conf \
&& echo "AddHandler php-script .php" >> /etc/apache2/httpd.conf \
&& echo "DirectoryIndex index.php index.html" >> /etc/apache2/httpd.conf

CMD ["/bin/sh", "-c", "httpd -D FOREGROUND"]
Кстати, я использую SQL Server 2022
Почему-то я до сих пор не могу найти решение. PHP должен знать эту функцию и уметь устанавливать соединение с SQL Server.

Подробнее здесь: https://stackoverflow.com/questions/791 ... when-i-use
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»