PHP 7.2.9-1+ubuntu18.04.1 安装 sqlsrv 扩展

参考文章,感谢作者(建议先看,不看也可以) https://serverpilot.io/docs/how-to-install-the-php-sqlsrv-extension

最全的官方安装ODBC,各种环境下的都有。(一定要看https://docs.microsoft.com/en-us/sql/connect/odbc/linux-mac/installing-the-microsoft-odbc-driver-for-sql-server?view=sql-server-2017

centOs环境 直接跳去这里看这篇文章https://blog.csdn.net/gdali/article/details/82912542(亲测可用[服务器是CentOs,所以也搭建了!])

(注意 我的php目录是“/etc/php/7.2”, 凡是用到php 的地方记得替换成自己的目录)

  1. curl -s https://packages.microsoft.com/keys/microsoft.asc | sudo apt-key add -
  2.  
  3. sudo bash -c "curl -s https://packages.microsoft.com/config/ubuntu/18.04/prod.list > /etc/apt/sources.list.d/mssql-release.list"
  4.  
  5. sudo apt-get update
    如果遇到这样的错误。没有错误的可以跳过

 (这里是时间过期了)执行命令 date -s 12/14/2018 && date -s 20:19:00 && sudo hwclock --systohc 注意改成当前时间即可

 

  1. sudo ACCEPT_EULA=Y apt-get -y install msodbcsql17 mssql-tools
  2.  
  3. sudo apt-get -y install unixodbc-dev
  4.  
  5. sudo apt-get -y install gcc g++ make autoconf libc-dev pkg-config
  6.  
  7. sudo pecl install sqlsrv
  8.  
  9. sudo pecl install pdo_sqlsrv
  10.  
  11. pecl command not found
  12. (如果pecl执行不成功先执行以下2条命令)
  13. sudo apt-get install php-pear php-dev
  1. (/etc/php/conf.d 代表的是你本机的php安装路径)
  1. sudo bash -c "echo extension=sqlsrv.so > /etc/php/conf.d/sqlsrv.ini" sudo bash -c "echo extension=pdo_sqlsrv.so > /etc/php/conf.d/pdo_sqlsrv.ini" sudo service php-fpm restart

在 phpinfo 中有在 php -m 中没有,在 phpinfo 中有在 php -i 中没有

phpinfo 用的是fpm模式 查看这个字段 Loaded Configuration File 定位php.ini 的位置

php -m 或者 php -i   使用的是cli模式

php -i | grep php.ini  查看cli模式下的 php.ini 的位置

所以后面需要这样配置(conf.d 中有文件了,就不需要再php.ini里配置了。)

  1. (注意后面的为你自己的php目录)
  2. bash -c "echo extension=sqlsrv.so > /etc/php/7.2/cli/conf.d/sqlsrv.ini"
  3.  
  4. bash -c "echo extension=pdo_sqlsrv.so > /etc/php/7.2/cli/conf.d/pdo_sqlsrv.ini"
  5.  
  6. bash -c "echo extension=sqlsrv.so > /etc/php/7.2/fpm/conf.d/sqlsrv.ini"
  7.  
  8. bash -c "echo extension=pdo_sqlsrv.so > /etc/php/7.2/fpm/conf.d/pdo_sqlsrv.ini"

检验是否安装完成

  1. php -i | grep -i sqlsrv

显示的大致是一下内容,说明安装成功

phpinfo 中也有了

综合安装代码

  1. sudo date -s // && sudo date -s :: && sudo hwclock --systohc (注意换成自己当前时间)
  2.  
  3. curl -s https://packages.microsoft.com/keys/microsoft.asc | sudo apt-key add - && sudo bash -c "curl -s https://packages.microsoft.com/config/ubuntu/18.04/prod.list > /etc/apt/sources.list.d/mssql-release.list" && sudo apt-get update && sudo ACCEPT_EULA=Y apt-get -y install msodbcsql17 mssql-tools && sudo apt-get -y install unixodbc-dev && sudo apt-get -y install gcc g++ make autoconf libc-dev pkg-config && sudo apt-get install php-pear php-dev && sudo pecl install sqlsrv && sudo pecl install pdo_sqlsrv && bash -c "echo extension=sqlsrv.so > /etc/php/7.2/cli/conf.d/sqlsrv.ini" && bash -c "echo extension=pdo_sqlsrv.so > /etc/php/7.2/cli/conf.d/pdo_sqlsrv.ini" && bash -c "echo extension=sqlsrv.so > /etc/php/7.2/fpm/conf.d/sqlsrv.ini" && bash -c "echo extension=pdo_sqlsrv.so > /etc/php/7.2/fpm/conf.d/pdo_sqlsrv.ini" && sudo service php7.2-fpm restart

卸载

  1. sudo rm /etc/php/7.2/cli/conf.d/sqlsrv.ini
  2. sudo rm /etc/php/7.2/fpm/conf.d/sqlsrv.ini
  3. sudo rm /etc/php/7.2/cli/conf.d/pdo_sqlsrv.ini
  4. sudo rm /etc/php/7.2/fpm/conf.d/pdo_sqlsrv.ini
  5. sudo peclX.Y-sp uninstall sqlsrv
  6. sudo peclX.Y-sp uninstall pdo_sqlsrv
  7. sudo service php7.-fpm restart

php7.2 sqlsrv 扩展 ubuntu Homestead centOs的更多相关文章

  1. PHP安装sqlsrv扩展( Centos系统、或宝塔面板)

    最近新安装了一台Centos服务器, 由于软件使用PHP + sqlserver , 因此需要给PHP安装一个sqlsrv扩展, 虽然这个扩展自己也安装过很多次了,但是从来都没有记录下来过,导致偶尔还 ...

  2. centos系统中php7安装memcached 扩展

    #编译安装php-7.1.16 #wget http://cn2.php.net/distributions/php-7.1.16.tar.gz#tar -zxvf php-7.1.16.tar.gz ...

  3. php7 安装mssql 扩展

    一. Install the Microsoft PHP Drivers for SQL Server [root@w91 source]#curl https://packages.microsof ...

  4. Centos7 编译安装 Nginx PHP Mariadb Memcached 扩展 ZendOpcache扩展 (实测 笔记 Centos 7.3 + Mariadb 10.1.20 + Nginx 1.10.2 + PHP 7.1.0 + Laravel 5.3 )

    环境: 系统硬件:vmware vsphere (CPU:2*4核,内存2G,双网卡) 系统版本:CentOS-7-x86_64-Minimal-1611.iso 安装步骤: 1.准备 1.0 查看硬 ...

  5. Win7+ubuntu kylin+CentOS 6.5三系统安装图文教程

    Win7+ubuntu kylin+CentOS 6.5三系统安装图文教程 引言:原本机子上已经装好了win7+Ubuntu Kylin 由win7引导,而不是Ubuntu的grub引导的双系统(安装 ...

  6. Centos7 编译安装 Nginx PHP Mariadb Memcached 扩展 ZendOpcache扩展 (实测 笔记 Centos 7.3 + Openssl 1.1.0e + Mariadb 10.1.22 + Nginx 1.12.0 + PHP 7.1.4 + Laravel 5.4 )

    环境: 系统硬件:vmware vsphere (CPU:2*4核,内存2G,双网卡) 系统版本:CentOS-7-x86_64-Minimal-1611.iso 安装步骤: 1.准备 1.0 查看硬 ...

  7. 上手并过渡到PHP7(1)——基于Homestead的PHP7和XDdebug环境

    PHP7 up and running 泊学实操视频泊学原文链接PHP7, Xdebug and Homestead 在经历了13个RC版本之后,PHP 7终于来了.在我们上手评估PHP 7的新特性之 ...

  8. ubuntu与centos系统对比

    CentOS与Ubuntu该如何选择,哪个更好用.笔者在自媒体平台收集了一些网友的观点,较为经典,分享给大家.至于应该选择哪个,希望看完本文章后,读者心中有数. 观点1:CentOS适用于服务器,Ub ...

  9. 对比ubuntu与centos系统 ​​​​

    CentOS与Ubuntu该如何选择,哪个更好用.笔者在自媒体平台收集了一些网友的观点,较为经典,分享给大家.至于应该选择哪个,希望看完本文章后,读者心中有数. 观点1:CentOS适用于服务器,Ub ...

随机推荐

  1. [转载]Fiddler 解析!抓包抓得好真的可以为所欲为 [一]

    说起抓包,很多人以为就是用个工具,简简单单地抓一下就可以了.昨天在面试一个安卓逆向,直接告诉我[抓包没有技术含量].在这里,我必须发一个教程,解析一下抓包神器——Fiddler.Fiddler仅仅是一 ...

  2. JS实现日期选择

    简单的JS实现日期选择,对于PHP来说就像是遍历一样,不过我个人觉得JS这个很有趣,随便记录一下 开始: <select name="gh_date"><opti ...

  3. ietester下ie6.0停止工作问题的修复

    工作时经常用到ie6.0来测试兼容性,不得不吐槽下ie6.0的过分老旧,页面编写完成后,最痛苦的莫过于在ie6.0下测试兼容性. 今天满怀基情的打算开始了一天的工作,却在刚要开始之初,被同事的iete ...

  4. Spring Security框架下Restful Token的验证方案

    项目使用Restful的规范,权限内容的访问,考虑使用Token验证的权限解决方案. 验证方案(简要概括): 首先,用户需要登陆,成功登陆后返回一个Token串: 然后用户访问有权限的内容时需要上传T ...

  5. latex中使用定理、证明、缩进

    1.定理和证明 \documentclass[a4paper,UTF8]{article} \usepackage{ctex} \usepackage{amsthm,amsmath,amsfonts, ...

  6. jmeter 上传附件

    1.查看上传接口参数,然后写到jmeter中 2.在file upload中parameterName填写main,MIME Type中填写request中的Content-Type

  7. vue打包后接口报错

    最近自己和朋友做了一个小的项目,用的是vue3.x版本,本地dev运行的时候接口什么的都是正常的,但是build打包后本地使用anywhere启动一个本地服务的时候发现接口报错405状态,发布到线上接 ...

  8. flume实现kafka到文件测试用例

    kafka 到 file at2.sources =st2 at2.channels = ct2 at2.sinks = kt2 # For each one of the sources, the ...

  9. Struts2 2.5版本的通配符和动态方法调用的问题

    Struts2.5版本之后,使用通配符的时候出现错误 配置的四个action,使用通配符和动态方法的时候找不到其中的update方法后来经过查找才知道原来是版本加了一个 <action name ...

  10. spring 动态代理

    突然想到AOP,就简单回忆一下动态代理.1.什么是动态代理? 假如有个用户有增删该查4个方法,如果要对用户操作后进行日志记录,可能会有人说直接在增删改查后做日志记录就行. 一旦我想在用户操作之前加一个 ...