2010-11-16 162 views
0

我想在運行Apache的Web服務器上執行以下PHP腳本(稱爲test1.php,比方說)。腳本嘗試連接到MySQL服務器:MySQL連接錯誤

==================================== ===========

$myHost = "localhost"; 

$myUser = "anyone"; 

$myPwd = "1234"; 

$link = mysql_connect($myHost,$myUser,$myPwd); 

if (!$link) { 

die(mysql_errno().": ".mysql_error()."\n"); 

} 

echo "Connected successfully.\n"; 

================================ ================

我不停地收到象這樣的錯誤:

2002:無法通過套接字連接到本地MySQL服務器「的/ var/lib中/ MySQL的/mysql.sock'(13)

但是,作爲root用戶或普通用戶,我可以從shell成功執行上面的腳本:

外殼> /var/www/html/test1.php

成功配置PHP。

如果有人對此問題有任何提示,我很困惑,並且感激不盡。非常感謝。

回答

2

在apache和CLI下執行<?php phpinfo();並比較mysql.default_socket的值。

你得到有效的套接字路徑(從CLI的phpinfo)之後 - 你可以指定相同的php.ini文件,或就在你的代碼:

$link = mysql_connect($myHost . ':/tmp/mysql.sock', $myUser, $myPwd); 
0

它現在以後,我改變了SELinux選項許可;這是強制執行。