美文网首页
PDO链接mysql失败,报500错误解决方案 - php

PDO链接mysql失败,报500错误解决方案 - php

作者: 饿肚子吃瓜子 | 来源:发表于2020-06-12 16:38 被阅读0次

    由来

      今天在其他公司部署项目到服务器的时候遇到一个特基础的问题;尴尬的是我当时没想到解决方法。身为一个几年经验的攻城狮居然被这么一个基础的问题给秀到了,真是丢程序员的脸了。

    问题

      在部署环境时前面的路是一路坎坷(内网,服务器系统版本也很低),总算是坚持下来了。在部署代码的时候,curl访问接口的时候报500的错误,很快就定位到PDO链接数据库的代码片段。当时链接不上一直以为是数据库的问题(数据库和接口是分开的两个服务器),但是通过命令行就可以直接链接mysql,所以只能看数据库的错误日志,可是找不到对应的错误日志,php也不报错,很多情况下没日志我就像无头苍蝇一样找不到方向不知道怎么搞了。

    此时的我:焦急,心烦,抓耳挠腮。

    到这里不知道有没有能想到怎么去解决的?
    经过百度了一番,看到Exception才恍然大悟,感觉自己真的脑残了。

    解决

    有了Exception就能找到错误了啊,pdo在链接时如果链接失败会抛出异常,通过下面代码去捕获异常就好了。

    try{
        ······
    } catch(Exception $e) {
        echo $e->getMessage();
    }
    

    捕获到 SQLSTATE[HY000] [2002] Permission denied
    最后定位到时因为 selinux 工作模式开启了 enforcing(强制模式)。
    设置selinux工作模式为 permissive(宽容模式) 问题就解决了:setenforce permissive

    最后友情提醒一下:在遇到问题心情一定不要急躁,因为这样问题并不能解决!!!😊😊😊

    相关文章

      网友评论

          本文标题:PDO链接mysql失败,报500错误解决方案 - php

          本文链接:https://www.haomeiwen.com/subject/eaagtktx.html