ubuntu系统
php7对Sql server 的扩展
https://www.microsoft.com/en-us/sql-server/developer-get-started/php-ubuntu
curl https://packages.microsoft.com/keys/microsoft.asc | apt-key add -
curl https://packages.microsoft.com/config/ubuntu/16.04/prod.list > /etc/apt/sources.list.d/mssql-release.list
apt-get update
ACCEPT_EULA=Y apt-get install -y msodbcsql mssql-tools unixodbc-dev
#pecl要求安装php的xml扩展,没有的话就无法使用
pecl install sqlsrv
pecl install pdo_sqlsrv
echo 'extension=sqlsrv.so' > /etc/php/7.1/mods-available/sqlsrv.ini
echo 'extension=pdo_sqlsrv.so' > /etc/php/7.1/mods-available/pdo_sqlsrv.ini
php 对 postgresql 的支持 apt-get install php5-pgsql
安装 redis apt-get install redis-server
安装扩展redis的php扩展 ( apt-get install php5-redis )
下载phpredis
apt-get install git
git clone https://github.com/nicolasff/phpredis/
tar -zxvf phpredis.tar.gz //解压好了的,这一步可以不做
cd phpreids
phpize //记得先 apt-get install php5-dev
./configure -with-php-config=/usr/bin/php-config
make && make install
完成之后会提示
Installing share extensions: /usr/lib/php5/20090626/
修改php.ini添加 extension=/usr/lib/php5/20090626/redis.so
// 安装 adodb 进行多数据库对接 , 我喜欢用这个统一操作数据库
apt-get install php5-adodb ---> 文件在/usr/lib/php5/20121212+lfs/adodb.so
然后打开扩展 /etc/php5/cli/php.ini extension=adodb.so
上面不做,直接下载一个扩展包也挺好,因为本身它就是对php的整理
git clone https://github.com/ADOdb/ADOdb.git
我发现apt-get install php5-adodb 你安装好以后,还是不能直接用的
它是在你的include_path目录中添加了一个文件夹,就是 adodb 这个文件夹,你要先引入进去
查看你的include_path , 使用命令 php -i | grep include_path ,
php的 include函数,当你加载文件时,默认先在include_path文件夹下找
//php 对oracle的支持 这个比较麻烦
2.下载Oracle组件
http://www.oracle.com/technetwork/database/features/instant-client/index-097480.html 官网
apt-get install alien //安装这个alien 它等于是 alien -i === dpkg -i
alien oracle-instantclient12.1-basic-12.1.0.2.0-1.x86_64.rpm
alien oracle-instantclient12.1-basiclite-12.1.0.2.0-1.x86_64.rpm
alien oracle-instantclient12.1-devel-12.1.0.2.0-1.x86_64.rpm
alien oracle-instantclient12.1-jdbc-12.1.0.2.0-1.x86_64.rpm
alien oracle-instantclient12.1-odbc-12.1.0.2.0-1.x86_64.rpm
alien oracle-instantclient12.1-sqlplus-12.1.0.2.0-1.x86_64.rpm
alien oracle-instantclient12.1-tools-12.1.0.2.0-1.x86_64.rpm
然后 生成了一些 deb文件
alien -i oracle-instantclient12.1-basic_12.1.0.2.0-2_amd64.deb
alien -i oracle-instantclient12.1-basiclite_12.1.0.2.0-2_amd64.deb
alien -i oracle-instantclient12.1-devel_12.1.0.2.0-2_amd64.deb
alien -i oracle-instantclient12.1-jdbc_12.1.0.2.0-2_amd64.deb
alien -i oracle-instantclient12.1-odbc_12.1.0.2.0-2_amd64.deb
alien -i oracle-instantclient12.1-sqlplus_12.1.0.2.0-2_amd64.deb
alien -i oracle-instantclient12.1-tools_12.1.0.2.0-2_amd64.deb
新建文件 /etc/ld.so.conf.d/oracle.conf
写入
# libc default configuration
/usr/lib/oracle/12.1/client64/lib
更新 ld.cache
#ldconfig(执行命令)
开始安装php扩展
apt-get install php-pear --->安装 pecl
pecl install oci8 --->pecl uninstall oci8 卸载
// 一般直接就好了,也可能中间会让你 输入oci的地址 instantclient,/usr/lib/oracle/12.1/client64/lib
最后的最后
echo 'extension=oci8.so' | tee -a /etc/php/7.0/mods-available/oci8.ini
打开模块
phpenmod oci8
最后测试
php -m | grep oci8
此时有可能报错
PHP Warning: PHP Startup: Unable to load dynamic library '/usr/lib/php/20151012/oci8.so' - libaio.so.1: cannot open shared object file: No such file or directory in Unknown on line 0
[错误说明](http://stackoverflow.com/questions/10619298/libaio-so-1-cannot-open-shared-object-file)
要安装
apt-get install libaio1 libaio-dev
再次测试ok
相关文档
http://www.hfxblog.com/2016/07/16/16-04%E5%AE%89%E8%A3%85PHP7/
资源
rpm 安装 的 源 (rpm 是直接 将 rpm文件解析带运行了,而上面的是先解析成deb文件,再运行)
http://us.archive.ubuntu.com/ubuntu/pool/main/liba/libaio/