❶ Fatal error: Call to undefined function mysql_connect()請問這個問題您是如何解決的
這個問題典型的php_mysql.dll沒有載入成功
首先你當然要確認php.ini裡面extension路徑對不對,就是說在確定php_mysql.dll一定存在的情況下按以下方法解決
你機器上一定裝了MySQL,而且先裝了MySQL,安裝MySQL時候會加一個環境變數path,是mysql/bin這個路徑,這個目錄下面有個DLL叫libmysql.dll,PHP目錄下面也有一個libmysql.dll,這兩個是不同的文件,不能混用,就是因為PHP找到了MySQL/bin下面的libmysql.dll,所以php_mysql.dll載入失敗
下面分析一下
環境變數path裡面 mysql/bin這個路徑如果在PHP路徑之前,載入php_mysql.dll時候 PHP會先在mysql/bin這個路徑下面找到libmysql.dll,然後發現不能識別,所以php_mysql.dll載入失敗
網上傳說普通的解決方法是把PHP裡面的php_mysql.dll和libmysql.dll拷貝到system32下,這是因為system32的路徑在path最前面,這些回答治標不治本,萬一system32路徑在path排在後面呢……
實際上起作用的方法就是在環境變數裡面把php路徑放在mysql/bin這個路徑前面,讓PHP找的時候先找到PHP下面那個libmysql.dll就可以了
PS:「我希望看到我這個解答的PHPer都能記住我這個解釋
別在向網上到處傳的什麼集成安裝包,什麼注意配置,什麼注意配置文件路徑,如果改個配置那麼簡單還有那麼多人問么,我想知道回答這個問題的那麼多人,有幾個真正遇到過這個問題,是真正自己找到問題根源的,都復制一下回答別人,有意思么」
望採納
❷ 缺少 mysqli 擴展.請檢查 PHP 配置
打開你的php.ini->具體看你的安裝目錄。
找到
;extension=php_msql.dll
;extension=php_mssql.dll
extension=php_mysql.dll
extension=php_mysqli.dll
需要開啟哪個擴展,就把這一行前面的分號去掉就行,注意要重啟Apache 或者IIS
解決步驟:
1.看看php的ext目錄中是否有php_mysqli.dll文件
如果有,繼續下面的步驟。沒有的話重新裝個php
2.打開php.ini,找到
;extension=php_mysqli.dll把前面的;去掉
3.找到;extension_dir="./ext"
把前面的分號";"去掉,改為(相對於php的安裝路徑的ext目錄)
extension_dir = "e:phpext"
e:php為php的存放目錄
4.把php.ini拷貝到c:windows下
5.把libmysql.dll復制到Windows下面的System32目錄(這個很關鍵)
6.重新啟動IIS(不是網站)
cmd下運行 iisreset/RESTART
如果上面方法還不行,可參考下面方法操作
第一步,輸出 phpinfo() 看看 MySQL 模塊是否成功裝載,如果成功裝載說明你見鬼了,否則看第二步,
IIS下phpinfo()無mysql模塊是何原因?
原先用的php是.msi安裝的,後來全部重來了一次,換成壓縮包形式安裝的。
又照著配置了php.ini,復制到winnt,復制libmysql.dll到system32。
之後測試成功。。。
第二步,查看 extension_dir 的設置是否正確
第三步,查看是否把 libmysql.dll 文件復制到 c:windowssystem32 下
1、沒有正確安裝Mysql資料庫,在系統服務中Mysql相關的服務沒有啟動 (請查看正確安裝Mysql的方法)
2、在系統的 system32(C:windowssystem32) 目錄下缺少 libmysql.dll文件,解決方法是找到php目錄下的libmysql.dll,並將libmysql.dll復制到C:windowssystem32目錄中,然後重新啟動Web服務。
3、在C:windows目錄下的php.ini文件中,沒有將「;extension=php_mysql.dll」中的前面一個「;」去掉,所以不能使用相應功能,解決方法是打開php.ini文件
4、Mysql目錄沒有讀取許可權,正確的目錄許可權如下:
administrator 完全控制
system 完全控制
user 讀取加運行
其他的用戶許可權全部刪除(也可保留,但安全性不高,建議刪除),然後重啟MYsql服務和Web服務。
❸ php連接mysql總出現Fatal error: Call to undefined function mysql_connect() in F:
輸出phpinfo,看有沒有mysql模塊,如果沒有,就是你現在裝的php沒有支持mysql,要打開php的mysql擴展
window環境下:找到php.ini,搜索 extension=php_mysql.dll 去掉前面的分號,把PHP安裝包里的libmysql.dll文件復制到C:\windows或C:\windows\system32目錄中, 然後重啟apache
linux環境下:可以在編譯PHP時加上--with-mysql,還可以在之後下載php-mysql擴展包,編譯安裝,重啟apache
編譯安裝有不明白的再網路一下