Linux下安装PHP扩展 pdo_sqlsrv
零、前言一、find 查找安装需要用到的php文件二、下载对应版本的扩展三、安装1、指定压缩包存放目录2、下载压缩包3、对压缩包进行解压4、解压成功后进入到 sqlsrv-4.3.0 目录5、在 sqlsrv-4.3.0 目录中执行命令6、configure 产生对应平台的Makefile1)、执行命令2)、可能的问题并解决3)、再次执行命令7、make 根据Makefile的内容 编译出符合平台
·
零、前言
本文可以说是这篇文章的V2版本:Linux下安装PHP扩展
-
为什么又写了这篇?
-
1、之前的排版不太好
-
2、大家要知道:
安装不同的扩展可能会用到不同的依赖
-
3、遇到问题不要急,找到问题点,百度
报错关键字
找解决方案 -
查看是否有该扩展:
php -m
,如果有 pdo_sqlsrv 就不需要安装
一、find 查找安装需要用到的php文件
find / -name phpize
:/usr/bin/phpizefind / -name php-config
:/usr/bin/php-configfind / -name php.ini
:/etc/php.ini
二、下载对应版本的扩展
- pdo_sqlsrv扩展下载页面:http://pecl.php.net/package/pdo_sqlsrv
- 选择 4.3.0 版本下载:
http://pecl.php.net/get/pdo_sqlsrv-4.3.0.tgz
- 链接规则:
http://pecl.php.net/get/ + 压缩包的名字
三、安装
1、指定压缩包存放目录
cd /opt/pecl
2、下载压缩包
wget http://pecl.php.net/get/pdo_sqlsrv-4.3.0.tgz
- 遇到: wget下载文件 失败 时
You can use another DNS server such as 8.8.8.8.
Put [nameserver 8.8.8.8] to the first line of [/etc/resolv.conf.]
- 登入root(VPS)。进入 /etc/resolv.conf。修改内容为下
nameserver 8.8.8.8 #google域名服务器
nameserver 8.8.4.4 #google域名服务器
- 我是直接在 /etc/resolv.conf 文件的第一行加上了
nameserver 8.8.8.8
3、对压缩包进行解压
tar zxvf pdo_sqlsrv-4.3.0.tgz
4、解压成功后进入到 pdo_sqlsrv-4.3.0 目录
cd pdo_sqlsrv-4.3.0
5、在 pdo_sqlsrv-4.3.0 目录中执行命令
- 执行phpize生成编译文件:
/usr/bin/phpize
6、configure 产生对应平台的Makefile
1)、执行命令
- 执行命令:
./configure --with-php-config=/usr/bin/php-config
2)、可能的问题并解决
- 执行这个命令的时候,有一些行的后面有
yes
,no
; yes 说明环境存在,no 说明环境不存在,找 no 的,去百度解决方法。 - 比如报错:
error: C++ preprocessor "/lib/cpp" fails sanity check
,问题的根源是缺少必要的C++库。 - error: C++ preprocessor “/lib/cpp” fails sanity check错误解决方法
- CentOS系统执行
yum install glibc-headers
yum install gcc-c++
- Ubuntu系统执行
apt-get install build-essential
apt-get install g++
3)、再次执行命令
- 执行命令:
./configure --with-php-config=/usr/bin/php-config
- 如果还有
no
,就再去百度解决方案,执行命令,直至全是yes
7、make 根据Makefile的内容 编译出符合平台的可执行文件
make
- 如果编译成功系统提示我们不要忘记安装,如下
Build complete.
Don't forget to run 'make test'.
- 可能会报错:fatal error: sql.h: No such file or directory,解决:
yum install unixODBC-devel
- Centos7.5 PHP7.2 连接sql_server 遇到fatal error: sql.h: No such file or directory
8、安装编译成功的软件
make install
- 如果安装成功了,系统会告诉我们安装的位置
Installing shared extensions: /usr/lib64/php/modules/
- 可以
cd /usr/lib64/php/modules/
,ls
查看已安装的扩展名
9、如果安装成功了就在php.ini中加上扩展,
- 在php配置文件中加上安装成功的扩展 pdo_sqlsrv.so;加上这一句 extension=pdo_sqlsrv.so
10、重启php服务
service php-fpm restart
- 如果提示权限不足, 请用:
sudo service php-fpm restart
11、php -m 查看扩展是否安装成功
- 执行命令:
php -m
四、其他
1、PHP执行sql报错:Can’t open lib 'ODBC Driver 13
- SQLSTATE[01000]: [unixODBC][Driver Manager]Can’t open lib 'ODBC Driver 13 fo
- 可能的问题:把
pdo_sqlsrv4.3.0
升级到pdo_sqlsrv5.2.0
试一下
2、./configure是干什么的?make install又是干什么的?
更多推荐
已为社区贡献1条内容
所有评论(0)