Docker部署PHP应用几个坑点
编辑
802
2022-03-15
官方Docker镜像默认没有启用PDO
在部署ThinkPHP框架应用时报错提示could not find driver
,但没有显示任何有助于debug的信息(连mysql连接错误的那个数字+错误都没有)。搜索引擎找到PDO没有正确配置时可能会出现该问题(https://blog.csdn.net/weixin_42325823/article/details/106278947),使用phpinfo()
查看确实PDO没有开启。进一步搜索后发现需要自行启动(https://stackoverflow.com/questions/37526509/how-to-install-pdo-driver-in-php-docker-image),同时dockerhub上也有相应的说明(https://hub.docker.com/_/php,见How to install more PHP extensions)。在Dockerfile中增加以下两行即可。
RUN docker-php-ext-install pdo pdo_mysql mysqli && docker-php-ext-enable pdo pdo_mysql mysqli
RUN sed -i 's/^;extension=pdo_mysql$/extension=pdo_mysql/' /usr/local/etc/php/php.ini-production && mv /usr/local/etc/php/php.ini-production /usr/local/etc/php/php.ini
runtime目录需要给予777权限
没啥好说,就
RUN chmod -R 777 runtime
- 0
- 0
-
赞助
微信赞赏码 -
分享