首頁 >後端開發 >PHP問題 >php無法連接mysql怎麼辦

php無法連接mysql怎麼辦

coldplay.xixi
coldplay.xixi原創
2020-11-04 10:08:263261瀏覽

php無法連接mysql的解決方法:首先找到【hosts】文件,並預設為唯讀;然後用記事本打開,在文件末尾添加【127.0.0.1 localhost】複製到桌面。

php無法連接mysql怎麼辦

php無法連接mysql的解決方法:

##問題一

今天為這本裝上mysql和php,一切安裝都很正常(php@IIS7.5-fastCGI)。但用phpmyadmin連線測試時卻出現「#2002無法連線」的錯誤,用其它程式也是同樣問題。

檢查了下,php的mysql擴充功能正確安裝,mysql服務正常啟動--那就奇了怪了。又用navicat連接,居然連上了。 。看來是php和mysql間的通訊出了問題。

百度了一下,問題被揪出來了:

mysql_connect()函數資料庫伺服器(server)參數目前設定為localhost,但當其更改為127.0.0.1後又可以正常訪問。

系統hosts檔案未提供127.0.0.1到localhost的解析。

解決方法(以win7系統為例):找到C:\Windows\System32\drivers\etc\hosts文件,預設為只讀,你需要複製一份到其他路徑如桌面,開啟檔案(開啟方式:記事本),在檔案結尾新增:127.0.0.1 localhost

如果已存在去掉其前面的「#」。

問題二

php腳本可以正常運行,如phpinfo()。

只要一出現「mysql_connect」函數,就沒反應,也不報錯。

$conn = mysql_connect("127.0.0.1","root","xxxx") or die("MYSQL資料庫連線失敗:".mysql_error());

 apache日誌目錄error.log中出現

PHP Warning:  PHP Startup: Unable to load dynamic library 'c:\\php\\ext\\php_mysql.dll'

解決方法:

將「libmysql.dll」複製到apache的bin目錄下。然後重啟,觀察error.log,如果錯誤消失,那恭喜了。

 另:網路資料也有說將「「libmysql.dll」」「php_mysql.dll」複製到windows/system32的。

問題三

 程式碼如下 

 $link_id=@mysql_connect( "localhost ", "sampadm ", "secret "); 
  //以下代码省略 
?>

出現以下提示: 

fatal   error:   call   to  undefined   )   in   var/www/html/mytest.php

解決方法:

1、php.ini中

  extension_dir設定為   "d: \apache2\php\ext "絕對路徑,否則有些環境會出錯。

  打開下面兩行功能擴展

  •   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伺服器

#相關影片推薦:

PHP程式設計從入門到精通

以上是php無法連接mysql怎麼辦的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn