使用docker搭建lnmp环境,使用的是分容器的搭建方案 框架使用thinkphp,想要连接数据MySQL,一直显示"SQLSTATE[HY000] [2002] Connection refused" 数据库配置host填的是localhost,后面改成了127.0.0.1,都是连接不了 还以为是数据库用户权限问题,新建了一个用户,刷新了权限,结果还是不行 想了好久,原来都是分容器的问题,由于采用了分容器的搭建方案,在php的容器内连接127.0.0.1或者localhost,肯定…
//域名绑定到模块 '__domain__' => [ 'admin' => 'admin', 'post' => 'api', 'user' => 'index', 'www' => 'home' ], 域名绑定模块,登入后台包报404,无法到登入页面 官网解决办法 如果还不顶用 ,试试我的办法 修改config中的配置 将这个改为true…
出现这个问题 首先进入 1.docker exec -it mysql02 bash      //mysql02是mysql容器的别名 2.mysql -uroot -p 3.输入密码 4.进入mysql>命令行界面 1,容器中登录mysql,查看mysql的版本 mysql> status;-------------- mysql  Ver 8.0.11 for Linux on x86_64 (MySQL Community Server - GPL) 2,进行授权远程连接(注意mysq…
1.启动容器: [root@localhost ~]# docker run -d -e MYSQL_ROOT_PASSWORD=123456 -p 3306:3306 mysql2.进入容器: [root@localhost ~]# docker exec -it 容器id bash3.进入mysql: root@2288abcb04f3:/# mysql -uroot -p4.输入密码,进入到mysql界面: 5.对远程连接进行授权: mysql> GRANT ALL ON *.* TO '…
当你的代码部署到服务器里的时候,你的mysql 的host 值 应该为 127.0.0.1 而不是 你的服务器ip 不然就会报错. 其实当你的代码进入到服务器里的时候,mysql和代码是相当于在同一个ip下,所以要用127.0.0.1,而不是服务器ip 记住了!不用去改什么配置问题. 参考链接:https://www.cnblogs.com/phying/p/8970790.html(感谢博主分享)…
在网上找了一堆,结果全部是错的 后来,我明白了其实是设置问题. 当你的代码部署到服务器里的时候,你的mysql 的host 值 应该为 127.0.0.1 而不是 你的服务器ip 不然就会报错. 其实当你的代码进入到服务器里的时候,mysql和代码是相当于在同一个ip下,所以要用127.0.0.1,而不是服务器ip 记住了!不用去改什么配置问题.…
vim libraries/config.default.php 查找到localhost/127.0.0.1字符[一般来说默认都是localhost] :/localhost 替换成容器名,例如我定义的名称是mysql 原始:$cfg['Servers'][$i]['host'] = 'localhost'; 修改:$cfg['Servers'][$i]['host'] = 'mysql';…
php要连接docker中运行的mysql是不能用localhost, 127.0.0.1来连接的,因为每个docker运行容器的localhost 127.0.0.1都是自己容器本身,不是mysql容器,需要修改成母机 IP,或者是mysql容器名称 比如有如下的docker-compose.yml version: '3' services: mysql: # build: ./mysql image: daocloud.io/library/mysql:5.7.20 volumes: -…
如下所示,PHP连接MySQL报错: SQLSTATE[HY000] [2002] Can't connect to local MySQL server through socket 'MySQL' (2) 测试代码如下: <?php try { $dsn = 'mysql:dbname=php-note;host=localhost;port=3306;charset=utf8'; $username = 'root'; $password = 'root'; new PDO( $dsn,…
 连接数据库报错:“SQLSTATE[HY000] [2002] No such file or directory”. 出现这个问题的原因是PDO无法找到mysql.sock或者mysqld.sock. 解决方法1:找到相应的.sock文件,并设置php.ini文件中的pdo_mysql.default_socket的值为.sock文件的路径. pdo_mysql.default_socket= /tmp/mysqld.sock 然后重启Apache,或者nginx下重启php-fpm即可.…