码迷,mamicode.com
首页 > 数据库 > 详细

mysql_connect()“No such file or directory”错误排除

时间:2015-02-05 18:30:17      阅读:172      评论:0      收藏:0      [点我收藏+]

标签:mysql_connectno such   loganalyzer   

在部署LogAnalyzer时碰到一个mysql_connect()的错误,其实就是php抛出的错误!

mysql_connect()函数:http://www.w3school.com.cn/php/func_mysql_connect.asp

主机环境:PHP5.6.1,Nginx1.4.7,Mysql5.5.40

此时的情况是,查询日志时间就会抛出这个错误,而其他模块,比如添加删除用户等,没有受影响,

执行SQL语句select DeviceReportedTime,FromHost,Message from Syslog.SystemEvents,可以得到正常数据。

那问题基本就是出在了php调用Mysql上了。。。。。。。

开始排错:

1.查找LogAnalyzer中用到mysql_connect()函数的地方:

http://phpcrossref.com/xref/loganalyzer/_functions/mysql_connect.html

共计4处

2.查找LogAnalyzer的config.php中的配置

发现有一处表的名字错了,修改为系统正确的即可,此处只是修改了系统配置文件;

进入数据库,修改Syslog数据库下的表logcon_sources的字段DBTableName为正确值;

3.检验mysql_connect()函数是否正确

(1).创建一个test.php

<span style="font-size:14px;"><?php
$con = mysql_connect("localhost","syslog","123456");
if (!$con)
  {
  die('Could not connect: ' . mysql_error());
  }

// 一些代码...

mysql_close($con);
?></span>
使用http://localhost:9189/test.php,访问只掉跳出“Could not。。。。。”

2.上一步把问题都确认了,Mysql我也知道UNIX socket的位置

直接进入/etc/php.ini下修改这3个和Mysql相关的套结函数指定位置

<span style="font-size:14px;">mysql.default_socket =/mnt/mydata/mysql.sock
mysqli.default_socket =/mnt/mydata/mysql.sock
pdo_mysql.default_socket=/mnt/mydata/mysql.sock</span>
之后重启php-fpm问题解决

总结一下:

1.网上抄袭回来的代码要细细验证,即使是开源的;

2.出了错,不要到处问人,应该讲程序全部调至debug模式,逐步排除!

mysql_connect()“No such file or directory”错误排除

标签:mysql_connectno such   loganalyzer   

原文地址:http://blog.csdn.net/jacson_bai/article/details/43529717

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!