起因:

项目中如果要连接 sql server 数据库  如果没有安装mssql扩展 就会报以下错误

解决 call to undefined function mssql_connect 报错

解决 call to undefined function mssql_connect 报错

 

这个时候首先看以下服务器是否安装mssql扩展

这个时候最后在服务器上 用phpinfo看以下 解决 call to undefined function mssql_connect 报错

 

 

并且要注意的是 这个php版本号

 

因为同事之前在服务器上执行 php -m  是显示有mssql扩展的

如下

解决 call to undefined function mssql_connect 报错

 

 

但是 其实默认php -m走的是老版本 而在项目中用的是PHP5.6

这样要到PHP56下看看

执行 cd /usr/local/php56/bin

执行 php -m  发现是没有mssql扩展的

找到问题的原因 就开始解决

因为当时用的是用编译的方式安装的 所以现在要重写编译扩展

具体步骤

找到当时安装的php56源码包

cd /user/local/src/php-5.6.4

解决 call to undefined function mssql_connect 报错
解决 call to undefined function mssql_connect 报错

解决 call to undefined function mssql_connect 报错

 

因为mssql扩展因为着急用就直接安装了 没有截图记录 

 下面拿opcache这个扩展做个测试

 
首先 进入目录中/usr/local/src/php-5.6.4/ext/opcache
 
然后使用phpsize生成config命令
这里必须指定现在服务器上用的php正确版本的路径执行,如果直接phpsize它就走老的版本
执行:sudo /usr/local/php56/bin/phpize
解决 call to undefined function mssql_connect 报错
然后就生成了configure命令
 解决 call to undefined function mssql_connect 报错

 

接下来使用./configure命令 如果直接使用会报错类型以下图片错误
解决 call to undefined function mssql_connect 报错
 
 解决 call to undefined function mssql_connect 报错

 

所以就按照错误提示把路径写全
解决 call to undefined function mssql_connect 报错

 

 
解决 call to undefined function mssql_connect 报错
 
要想知道自己执行的这步对不对 使用 echo $?
 
解决 call to undefined function mssql_connect 报错
如果返回0说明安装正确
 解决 call to undefined function mssql_connect 报错

 

可以继续往下执行
 
接着执行make命令
 
要使用sudo make 否则会报错
解决 call to undefined function mssql_connect 报错
 解决 call to undefined function mssql_connect 报错

 

最后执行 sudo make install
解决 call to undefined function mssql_connect 报错
 解决 call to undefined function mssql_connect 报错
检查扩展安装是否成功
 解决 call to undefined function mssql_connect 报错

 

说明已经安装完成
可以看到有已经安装的mssql.so
 
在php.ini配置下扩展
 解决 call to undefined function mssql_connect 报错

 

解决 call to undefined function mssql_connect 报错
 
解决 call to undefined function mssql_connect 报错
 
重启apache
 
解决 call to undefined function mssql_connect 报错
 解决 call to undefined function mssql_connect 报错

看一下

 

解决 call to undefined function mssql_connect 报错

解决 call to undefined function mssql_connect 报错

 

以后就是重新编译 安装需要的扩展的步骤

 

 

 
 

 

相关文章: