解决 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
 
 

看一下

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

 
 

猜你喜欢

转载自www.cnblogs.com/weiluoyan/p/9016638.html