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

在部署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

<?php
$con = mysql_connect("localhost","syslog","123456");
if (!$con)
  {
  die('Could not connect: ' . mysql_error());
  }
mysql_close($con);
?>
使用
http://localhost:8190/test.php,访问只掉跳出“Could not。。。。。”

2.上一步把问题都确认了,Mysql我也知道UNIX socket的位置
直接进入/etc/php.ini下修改这3个和Mysql相关的套结函数指定位置
mysql.default_socket =/mnt/mydata/mysql.sock
mysqli.default_socket =/mnt/mydata/mysql.sock
pdo_mysql.default_socket=/mnt/mydata/mysql.sock
之后重启php-fpm问题解决总结一下:

1.网上抄袭回来的代码要细细验证,即使是开源的;
2.出了错,不要到处问人,应该讲程序全部调至debug模式,逐步排除!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值