php无法连接mysql(selinux)

注意:

有什么不对的地方请大神们多多指教!!!

今天发布代码的时候,使用小伙伴搭建的lamp环境遇到这样的一个问题: 使用Thinkphp5,连接mysql服务失败

下面开始查找原因和解决问题的过程:

1.ip和端口禁用问题

开始的时候怀疑是 网络问题 和 mysql的 端口被禁了

测试:

1.在web 服务器上ping mysql 服务ip;结果发现ping通了

2.然后尝试用mysql 客户端,远程连接mysql 服务;结果发现居然成功了

结论:

1.应该跟网络,端口,mysql用户无关(毕竟用的是同一台服务器,同一个账户,同一个端口)

2.php 扩展问题

既然提供的服务是正常的,但是php连接失败(不是代码问题);那个会不会是因为php的扩展问题

测试:

php -m 看了下发现该有的扩展都有

  1. 因为开始用的是thinkphp5,所以怀疑了下,这个框架(虽然有点太天真了)。。。看了下,发现Tp用的是pdo;就自己写个pdo连接,发现出现相同的问题;
  2. 查了下,有人说可能是扩展有问题。。。 于是我用原生的 和 mysqli 的方式连接测试下;出现相同的问题

结论:

1.估计应该跟代码 和 扩展没有多大关系了

3.seLinux

突然想起了 seLinux 这个东西;依稀记得 centos 6 后面就搞了这个东西进去;会不会是这个东西搞怪呢?

小插曲:

什么是 seLinux?(百度的)

SELinux(Security-Enhanced Linux) 是美国国家安全局(NSA)对于强制访问控制的实现,是 Linux历史上最杰出的新安全子系统。在这种访问控制体系的限制下,进程只能访问那些在他的任务中所需要文件。SELinux 默认安装在 Fedora 和 Red Hat Enterprise Linux 上。虽然SELinux很好用,但是在多数情况我们还是将其关闭,因为在不了解其机制的情况下使用SELinux会导致软件安装或者应用部署失败。

测试:

1.看了下服务器的系统信息:centos 7 感觉像了。。。

2.看了下seLinux的状态:

# /usr/sbin/sestatus -v

查看selinux的详细状态,如果为enable则表示为开启;结果发现 果然开着

3.关掉它试试。。。

临时性关闭(立即生效,但是重启服务器后失效)

# setenforce 0 #设置selinux为permissive模式(即关闭)
# setenforce 1 #设置selinux为enforcing模式(即开启)

永久性关闭(这样需要重启服务器后生效)

修改/etc/selinux/config 文件
将SELINUX=enforcing改为SELINUX=disabled

结论:

1.通过了。。。

php无法连接mysql(selinux)相关推荐

  1. SELinux导致PHP连接MySQL异常Can't connect to MySQL server的解决方法

    2019独角兽企业重金招聘Python工程师标准>>> 同事报告一起奇怪的现象,一个最简单的测试PHP代码,在测试环境很正常,但是在正式环境下,无论用何种方式(tcp/ip.unix ...

  2. .net连接mysql数据_.net连接MYSQL数据库的方法及示例!

    连接MYSQL数据库的方法及示例 方法一: 使用MYSQL推出的MySQL Connector/Net is an ADO.NET driver for MySQL 该组件为MYSQL为ADO.NET ...

  3. SQLALchemy之Python连接MySQL

    20220225 https://www.cnblogs.com/toheart/p/9802990.html pymssql连接sqlserver https://blog.csdn.net/qq_ ...

  4. JDBC连接MySQL数据库及演示样例

    JDBC是Sun公司制定的一个能够用Java语言连接数据库的技术. 一.JDBC基础知识         JDBC(Java Data Base Connectivity,java数据库连接)是一种用 ...

  5. windows nodejs mysql_windows server 安装 mysql + nondejs连接mysql

    下载 安装 下载完后,将 zip 包解压到相应的目录,这里我将解压后的文件夹放在 C:\mysql 下. 接下来需要配置下 MySQL 的配置文件 打开刚刚解压的文件夹 C:\mysql ,在该文件夹 ...

  6. python用django连接mysql_三分钟了解Django如何连接Mysql数据库

    处理用户注册请求.Django连接MysqL数据库相关配置.数据库迁移命令: my_Dproject/app01/views.py    在views函数文件中添加register函数,来处理用户注册 ...

  7. mysql submission_date_UiPath如何连接MySQL

    UiPath如何连接MySQL 首次登陆,修改密码,首先用 flushprivileges; 再用一下3种方法中的一种 update mysql.user setauthentication_stri ...

  8. python链接mysql 判断是否成功_【初学python】使用python连接mysql数据查询结果并显示...

    因为测试工作经常需要与后台数据库进行数据比较和统计,所以采用python编写连接数据库脚本方便测试,提高工作效率,脚本如下(python连接mysql需要引入第三方库MySQLdb,百度下载安装) # ...

  9. eclipselink mysql_Eclipse连接MySQL数据库(傻瓜篇)

    Eclipse连接MySQL数据库(傻瓜篇) 本来不想写这么简单人文章,在百度上搜索我这个标题,完全符合标题的一大堆.但我按照那些文章捣鼓了很久,就是不行. 我的环境:MySQL:mysql-esse ...

最新文章

  1. 学数学,你要如何过题海:游泳?冲浪?划小船?开游艇?
  2. 疫情当前,宅家学习不无聊,AI视频课程资源盘点
  3. Kalman Filter
  4. 天天说常识推理,究竟常识是什么?
  5. 从“嵌入式”到“物联网”有哪些变化?
  6. ios tabbar中间凸起_移动端开发基础【21】tabBar 配置
  7. MyBatis框架、log4j、数据库的配置文件
  8. 树莓派 Pico Pi USB串口通信
  9. 《谈谈方法》这本小书篇幅很短,然而想说的却很多
  10. 【硕士论文】《动态场景下的语义三维地图构建 》西南科技大学 余东应
  11. 北京“银医一卡通”项目启动
  12. Angularjs兼容低版本IE
  13. Java学习 --- 设计模式七大原则的依赖倒转原则
  14. 处理 web 程序的输入与输出
  15. 实战!Python常见的几种数据可视化案例
  16. matlab编程求卫星轨道长度,卫星位置速度与轨道根数之间的计算
  17. 【夏目鬼鬼分享】SpringBoot集成热部署(IDEA)
  18. 如何让人更高效的完成事情
  19. uniapp人脸识别解决方案
  20. 假设检验_样本容量选取20211204

热门文章

  1. Ubuntu打印机控制命令笔记
  2. Vmware ESX5i 环境下部署Windows Storage Server 2008 R2
  3. Vue 单选框与单选框组 组件
  4. 20190226work
  5. Python教程-python字典中key的灵活使用fromkeys()
  6. 【NOIP】OpenJudge - 15:银行利息
  7. sharepoint2007就地升级2010系列(三)升级系统
  8. java_jdbc_基本连接池
  9. DeepEarth自定义图元的中心位置纠偏
  10. 再谈初学者关心的ssh应用方方面面