Вызов неопределенной функции mysqli_connect () - PullRequest
2 голосов
/ 26 февраля 2020

В этом коде должна быть ошибка из-за пустых аргументов в функции mysqli_connect. Но браузер отображает другую ошибку. Как я знаю mysqli_connect функция установлена ​​по умолчанию. Где проблема или моя ошибка? Как я могу это исправить?

Dockerfile

FROM php:fpm

# Update system core
RUN apt update -y && apt upgrade -y

# Start PHP-FPM
CMD ["php-fpm"]

index. php

<?php mysqli_connect('', '', '', '', '', ''); ?>

Ошибка в браузере:

Fatal error: Uncaught Error: Call to undefined function mysqli_connect() in /var/www/index.php:3 Stack trace: #0 {main} thrown in /var/www/index.php on line 3

Ответы [ 2 ]

6 голосов
/ 26 февраля 2020

В вашем Dockerfile для PHP -FPM (я рекомендую версию Alpine) вы должны установить расширение MySQLi отдельно

FROM php:7-fpm-alpine

# Update system core
RUN apt update -y && apt upgrade -y
RUN docker-php-ext-install mysqli && docker-php-ext-enable mysqli

# Start PHP-FPM
CMD ["php-fpm"]
1 голос
/ 26 февраля 2020

В Dockerfile вам нужно добавить расширение mysqli:

FROM php:7.3-fpm

# Update system core

RUN apt update && apt install -y \
        libfreetype6-dev \
        libjpeg62-turbo-dev \
        libpng-dev libxml2-dev libcurl4-gnutls-dev


RUN docker-php-ext-install -j$(nproc) mysqli \
    && docker-php-ext-configure gd --with-freetype-dir=/usr/include/ --with-jpeg-dir=/usr/include/ \
    && docker-php-ext-install -j$(nproc) gd

# Start PHP-FPM
CMD ["php-fpm"]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...