[英]PHP docker and using MySQL PDO
当使用PHP-FPM创建LEMP堆栈时,我似乎无法加载PDO驱动程序,它始终默认为sqlite驱动程序。
Docker撰写:
version: "3.5"
services:
redis:
image: redis:alpine
container_name: errors-redis
mysql:
image: mysql:8.0
container_name: errors-mysql
working_dir: /application
volumes:
- .:/application
environment:
- MYSQL_ROOT_PASSWORD=test
- MYSQL_DATABASE=errors
- MYSQL_USER=test
- MYSQL_PASSWORD=test
ports:
- "9011:3306"
webserver:
image: nginx:latest
container_name: errors-nginx
working_dir: /application
volumes:
- .:/application
- ./dev/nginx/nginx.conf:/etc/nginx/conf.d/default.conf
ports:
- "9010:80"
php-fpm:
image: php:fpm
container_name: errors-php-fpm
working_dir: /application
volumes:
- .:/application
- ./dev/php-fpm/php-ini-overrides.ini:/etc/php/7.2/fpm/conf.d/99-overrides.ini
Docker文件:
FROM phpdockerio/php72-fpm:latest
WORKDIR "/application"
# Install selected extensions and other stuff
RUN apt-get update \
&& apt-get -y --no-install-recommends install php-memcached php7.2-mysql php-redis php-xdebug \
&& apt-get clean; rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* /usr/share/doc/*
PHP的ini
upload_max_filesize = 100M
post_max_size = 108M
现在当我检查phpinfo()
PDO support enabled
PDO drivers sqlite
我没有在任何时候安装sqlite,所以我不确定它是如何得到的。 如何更改它以使用MySQL代替sqlite?
您还需要在安装中添加PDO位...
apt-get -y --no-install-recommends install php-memcached php-redis php-xdebug mysqli pdo pdo_mysql \
特别是最后3个。您可能会错过php7.2-mysql,因为它应该包含在mysqli选项中。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.