這篇文章將為大家詳細講解有關(guān)php無法連接mysql的解決方法,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。
潁州ssl適用于網(wǎng)站、小程序/APP、API接口等需要進行數(shù)據(jù)傳輸應(yīng)用場景,ssl證書未來市場廣闊!成為創(chuàng)新互聯(lián)的ssl證書銷售渠道,可以享受市場價格4-6折優(yōu)惠!如果有意向歡迎電話聯(lián)系或者加微信:028-86922220(備注:SSL證書合作)期待與您的合作!php無法連接mysql的解決辦法:首先找到【hosts】文件,并默認為只讀;然后用記事本打開,在文件末尾添加【127.0.0.1 localhost】復(fù)制到桌面。
php無法連接mysql的解決辦法:
問題一
今天給本本裝上mysql和php,一切安裝都很正常(php@IIS7.5-fastCGI)。但用phpmyadmin連接測試時卻出現(xiàn)“#2002無法連接”的錯誤,用其它程序也是同樣問題。
檢查了下,php的mysql擴展正確安裝,mysql服務(wù)正常啟動--那就奇了怪了。又用navicat連接,居然連上了。。看來是php和mysql間的通訊出了問題。
百度了一下,問題被揪出來了:
mysql_connect()函數(shù)數(shù)據(jù)庫服務(wù)器(server)參數(shù)當前設(shè)置為localhost,但當其更改為127.0.0.1后又可以正常訪問。
系統(tǒng)hosts文件未提供127.0.0.1到localhost的解析。
解決方法(以win7系統(tǒng)為例):找到C:\Windows\System32\drivers\etc\hosts文件,默認為只讀,你需要復(fù)制一份到其他路徑如桌面,打開文件(打開方式:記事本),在文件末尾添加:127.0.0.1 localhost
如果已存在去掉其前面的“#”。
問題二
php腳本可以正常運行,如phpinfo()。
只要一出現(xiàn)“mysql_connect”函數(shù),就沒反應(yīng),也不報錯。
如$conn = mysql_connect("127.0.0.1","root","xxxx") or die("MYSQL數(shù)據(jù)庫連接失?。?.mysql_error());
apache日志目錄error.log中出現(xiàn)
PHP Warning: PHP Startup: Unable to load dynamic library 'c:\\php\\ext\\php_mysql.dll'
解決辦法:
將“l(fā)ibmysql.dll”復(fù)制到apache的bin目錄下。然后重啟,觀察error.log,如果錯誤消失,那恭喜了。
另:網(wǎng)上資料也有說將““l(fā)ibmysql.dll””“php_mysql.dll”復(fù)制到windows/system32的。
問題三
代碼如下
$link_id=@mysql_connect( "localhost ", "sampadm ", "secret "); //以下代碼省略 ?>
運行時出現(xiàn)如下提示:
fatal error: call to undefined function mysql_connect() in var/www/html/mytest.php
解決方法:
1、php.ini中
extension_dir設(shè)置為 "d:\apache2\php\ext "絕對路徑,否則有些環(huán)境中會出錯。
打開下面兩行功能擴展
extension=php_mysql.dll
extension=php_mysqli.dll
2、拷貝libmysql.dll(php目錄下)和php_mysql.dll(php/ext目錄下)至c:\windows\system32目錄下(libmysql.dll必須為php目錄下,比如我的為D:\apache2\php目錄下的libmysql.dll,php_mysql.dll則在D:\apache2\php\ext)
3、測試,
1> 先打開命令行
A)依次點擊“開始”菜單-> “mysql”-> “mysql5 server”-> “MySQL Command Line Client”
//如此步成功則mysql安全成功,失效則mysql安裝失敗,請卸載后重裝
B)輸入密碼
//此步正常則說明 root賬戶的密碼正確。失敗則賬號密碼有錯
2> 新建文件至主目錄,并保存為testmysql.php,接著在瀏覽器中輸入http://localhost/testmysql.php
(或者http://localhost:81/testmysql.php)
如果不行查看一下apache是否加載了php與 mysql方法
apache中支置對php5的支持httpd.conf文件中加入下面三行
PHPIniDir "D:/ccopen/php5/" LoadModule php5_module "D:/ccopen/php5/php5apache2_2.dll" AddType application/x-httpd-php .php
php.ini中去掉下面兩行分號
extension=php_mysql.dll
extension=php_mysqli.dll
將php_mysql.dll和libmysql.dll拷到system32
重起apache服務(wù)器
關(guān)于php無法連接mysql的解決方法就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學(xué)到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。