解決 call to undefined function mssql_connect 報錯


起因:

項目中如果要連接 sql server 數據庫  如果沒有安裝mssql擴展 就會報以下錯誤

 

這個時候首先看以下服務器是否安裝mssql擴展

這個時候最后在服務器上 用phpinfo看以下 

 

 

並且要注意的是 這個php版本號

 

因為同事之前在服務器上執行 php -m  是顯示有mssql擴展的

如下

 

 

但是 其實默認php -m走的是老版本 而在項目中用的是PHP5.6

這樣要到PHP56下看看

執行 cd /usr/local/php56/bin

執行 php -m  發現是沒有mssql擴展的

找到問題的原因 就開始解決

因為當時用的是用編譯的方式安裝的 所以現在要重寫編譯擴展

具體步驟

找到當時安裝的php56源碼包

cd /user/local/src/php-5.6.4

 

因為mssql擴展因為着急用就直接安裝了 沒有截圖記錄 

 下面拿opcache這個擴展做個測試

 
首先 進入目錄中/usr/local/src/php-5.6.4/ext/opcache
 
然后使用phpsize生成config命令
這里必須指定現在服務器上用的php正確版本的路徑執行,如果直接phpsize它就走老的版本
執行:sudo /usr/local/php56/bin/phpize
然后就生成了configure命令
 

 

接下來使用./configure命令 如果直接使用會報錯類型以下圖片錯誤
 
 

 

所以就按照錯誤提示把路徑寫全

 

 
 
要想知道自己執行的這步對不對 使用 echo $?
 
如果返回0說明安裝正確
 

 

可以繼續往下執行
 
接着執行make命令
 
要使用sudo make 否則會報錯
 

 

最后執行 sudo make install
 
檢查擴展安裝是否成功
 

 

說明已經安裝完成
可以看到有已經安裝的mssql.so
 
在php.ini配置下擴展
 

 

 
 
重啟apache
 
 

看一下

 

 

以后就是重新編譯 安裝需要的擴展的步驟

 

 

 
 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM