使用docker-compose与mysql和php 7无法连接到数据库
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了使用docker-compose与mysql和php 7无法连接到数据库,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1519字,纯文字阅读大概需要3分钟。
内容图文
![使用docker-compose与mysql和php 7无法连接到数据库](/upload/InfoBanner/zyjiaocheng/907/cc9d8d871f204a039becb5f515da3afe.jpg)
我在从php 7.0.1-apache容器连接到我链接的mysql容器时遇到问题.
PHP容器Dockerfile:
FROM php:7.0.1-apache
# Initialize html and php.ini
COPY src/ /var/www/html/
COPY config/php.ini /usr/local/etc/php/
# Update modules.
RUN apt-get update
泊坞窗,compose.yml:
web:
build: .
ports:
- "80:80"
links:
- "db"
volumes:
- "./src/:/var/www/html/"
db:
image: "mysql"
ports:
- "3306:3306"
environment:
- "MYSQL_ROOT_PASSWORD=somepword"
index.php文件:
<?php
$servername = "127.0.0.1";
$username = "root";
$password = "somepword";
$db = "test_db";
// Create connection
$conn = new mysqli($servername, $username, $password);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
echo "Connected successfully";
错误日志:
PHP Fatal error: Uncaught Error: Class 'mysqli' not found in /var/www/html/index.php:8\nStack trace:\n#0 {main}\n thrown in /var/www/html/index.php on line 8
我不知道我哪里出错了,基本上看起来我的PHP容器中没有正确配置mysql.有什么建议?
解决方法:
是的,正如您所说,您的设置不包括Mysqli扩展,您需要手动安装.
像这样将MySQLi的安装添加到Dockerfile中,你应该做得很好:
FROM php:7.0.1-apache
RUN apt-get update && apt-get install -y mysql-client libmysqlclient-dev \
&& docker-php-ext-install mysqli
# Initialize html and php.ini
COPY src/ /var/www/html/
COPY config/php.ini /usr/local/etc/php/
最后也失去了apt-get更新.如果你有什么想运行apt-get update&& apt-get升级实际更新模块.老实说,你不应该这样做.这将导致您的Dockerfile在几周内不会生成相同的构建,只是因为依赖关系已经改变了哪种类型的Docker部分无法解决它?
内容总结
以上是互联网集市为您收集整理的使用docker-compose与mysql和php 7无法连接到数据库全部内容,希望文章能够帮你解决使用docker-compose与mysql和php 7无法连接到数据库所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。