mysql_connect()“No such file or directory”錯誤排除,mysqlconnect

來源:互聯網
上載者:User

mysql_connect()“No such file or directory”錯誤排除,mysqlconnect

在部署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.sockmysqli.default_socket =/mnt/mydata/mysql.sockpdo_mysql.default_socket=/mnt/mydata/mysql.sock</span>
之後重啟php-fpm問題解決

總結一下:

1.網上抄襲回來的代碼要細細驗證,即使是開源的;

2.出了錯,不要到處問人,應該講程式全部調至debug模式,逐步排除!

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.