Задать вопрос
Chernichko
@Chernichko
Учусь.

Как исправить 500 ошибку локального сервера?

После выкачки всех файлов и запуска композера , страница пишет An internal server error occurred.

В логах такое:

2018/10/29 15:37:20 [error] 8#0: *120 FastCGI sent in stderr: "PHP message: An Error occurred while handling another error:
PDOException: could not find driver in /usr/share/nginx/html/natali37/natali_app/vendor/yiisoft/yii2/db/Connection.php:660
Stack trace:
#0 /usr/share/nginx/html/nana/natali_app/vendor/yiisoft/yii2/db/Connection.php(660): PDO->__construct('pgsql:host=172....', 'root', 'password', NULL)
#1 /usr/share/nginx/html/natali37/natali_app/vendor/yiisoft/yii2/db/Connection.php(586): yii\db\Connection->createPdoInstance()
#2 /usr/share/nginx/html/nana/natali_app/vendor/yiisoft/yii2/db/Connection.php(943): yii\db\Connection->open()
#3 /usr/share/nginx/html/nana/natali_app/vendor/yiisoft/yii2/db/Connection.php(930): yii\db\Connection->getMasterPdo()
#4 /usr/share/nginx/html/nana/natali_app/vendor/yiisoft/yii2/db/Schema.php(442): yii\db\Connection->getSlavePdo()
#5 /usr/share/nginx/html/nana/natali_app/vendor/yiisoft/yii2/db/Connection.php(838): yii\db\Schema->quoteValue('natali37')
#6 /usr/share/nginx/html/nana/natali_app/vendor/yiisof" while reading upstream, client: 172.24.0.1, server: nana.local, request: "GET / HTTP/1.1", upstream: "fastcgi://172.24.0.3:9000", host: "nana.local"


Мне совершенно не понятно, что происходит!?
Толи в докере дело, то ли в проекте....

Dockerfile php:

Dockerfile
FROM php:7.1-fpm

RUN apt-get update \
&& apt-get install -y \
libpq-dev \
libldb-dev \
libldap2-dev \
libxml2-dev \
libjpeg-dev \
libpng-dev \
libpcre3-dev \
libedit2 \
curl \
--no-install-recommends \
&& docker-php-ext-install mysqli pdo_mysql soap mbstring \
&& docker-php-ext-configure gd --enable-gd-native-ttf --with-jpeg-dir=/usr/lib/x86_64-linux-gnu --with-png-dir=/usr/lib/x86_64-linux-gnu \
&& docker-php-ext-install gd


RUN apt-get update \
&& buildDeps=" \
git \
libmemcached-dev \
zlib1g-dev \
" \
&& doNotUninstall=" \
libmemcached11 \
libmemcachedutil2 \
" \
&& apt-get install -y $buildDeps --no-install-recommends \
&& rm -r /var/lib/apt/lists/* \
\
&& docker-php-source extract \
&& git clone --branch php7 https://github.com/php-memcached-dev/php-memcached /usr/src/php/ext/memcached/ \
&& docker-php-ext-install memcached \
\
&& docker-php-source delete \
&& apt-mark manual $doNotUninstall \
&& apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false $buildDeps
  • Вопрос задан
  • 678 просмотров
Подписаться 1 Простой 1 комментарий
Пригласить эксперта
Ответы на вопрос 3
Вы используете postgresql или mysql?!
#0 /usr/share/nginx/html/nana/natali_app/vendor/yiisoft/yii2/db/Connection.php(660): PDO->__construct('pgsql:host=172....', 'root', 'password', NULL)

В логе вроде выдаётся ошибка: Не может найти драйвер для postgresql.
Ответ написан
Комментировать
@SteepZero
Добавь это в свой Dockerfile:
#pgsql
RUN apt install -y libpq-dev \
    && docker-php-ext-install pdo_pgsql pgsql
Ответ написан
Комментировать
@mr_molodoy
У Вас на сервере отсутствует php-pgsql (расширение для php).
Вам просто нужно его установить.
apt-get install php-pgsql для Ubuntu
или yum install php-pgsql для сервера на CentOS и т.д.

После этого так же не забудьте перезапустить php-fpm
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы