工作一年的三两事(一)

2016年马上就要过去了,回首在公司的一年中,工作遇到了不少坑,也学到了不少新知识,至少对于我来说是新知识_,特此腾出时间记录一下,程序员、语死早,一些话表达不清楚只能靠代码和截图了,见谅见谅。

本篇博文,分三个篇幅:PHP、Ionic、AngularJs。都是在工作项目中接触到的,还有nodejs,但是接触时间比较短,还是先多学学。

一、拍黄片(PHP)

php是我第一门接触的语言,一直认为是世界上最好的语言,嗯,没有之一,手动滑稽

linux环境下thinkPHP(3.2.3)框架通过PDO链接微软云的Azure SQLDatabase数据库

这是我工作中遇到的第一个大坑,微软云官网上并没有linux环境下链接PHP的示例,只有windows的,区别在于PHP的扩展安装。
问遍度娘,Linux下链接Azure SQL Database数据库,需要安装freetds软件,以及unixODBC,因为切换数据库的原因,freetds需要配合unixODBC来使用
贴下环境:

PHP版本:5.4.25

Linux版本:centos 7

Azure SQL Database数据库版本:

Freetds版本:0.95.79

unixODBC版本:2.3.4
首先安装 unixODBC

PS:路径忽略

cd unixODBC-2.3.4

./configure --prefix=/usr/local/unixODBC

make && make install> unixODBC
然后查看版本信息
./bin/isql –version
接着安装freetds
./configure --prefix=/usr/local/freetds--with-unixodbc=/usr/local/unixODBC --enable-msdblib --with-tdsver=7.0

make && make install

这里--with-tdsver=7.0我选择的是7.0,这里是根据你的数据库版本来配置的(Azure SQL Database应该和普通的sqlserver数据库有些区别),贴一张图,借鉴别人的博文
Linux环境PHP5.5以上连接SqlServer2008【全网最经典无错版】

查看版本信息
./bin/tsql –C
接着修改配置项
vim etc/freetds.conf

这里只在文件末尾部分增加了数据库的配置属性

[qwer]

host = XXXXXXX.database.chinacloudapi.cn//数据库链接地址

port = 1433//端口

tds version = 7.0//版本

client charset =UTF-8//字符集

接着修改unixODBC的两个配置文件

vim etc/odbcinst.ini

修改如下:

[TDS]

Description = MS-SQLServer

Driver = /usr/local/freetds/lib/libtdsodbc.so

#Setup = /usr/local/freetds/lib/libtds.so     //这个没找到 就注释掉了,水平有限没去深究,因为链接成功了

FileUsage = 1

修改另外一个配置文件

vim etc/odbc.ini

修改如下:

[test_db]        //pdo_odbc中使用的链接名称

Driver = TDS

Servername = qwer  //freetds中的配置名称

Database = test _db  //测试库

Port = 1433

[prod_db]

Driver = TDS

Servername = qwer

Database = prod_db   //生产库

Port = 1433

配置文件就修改这三个,就可以测试数据库的链接,不过记得去微软云后台加上IP白名单, 当时遇到一个坑,因为Azure SQL Database数据库版本过低问题,freetds死活连不上。
数据库是很久之前就已经在使用了,PHP链接还是头一回,所以没发现这个问题,后来提交工单,找技术支援才测出来是版本原因,此前一度怀疑自己的链接方式、插件、扩展安装是否正确等,还好连上了。
链接的截图就不贴了,这个百度就行,freetds和unixODBC的bin/isql都可以通过命令行链接数据库。

然后给PHP打上pdo_odbc扩展

安装pdo_odbc扩展就比较简单了,进入到PHP的源码包,找到pdo_odbc,

/usr/local/php/bin/phpize

./configure --with-php-config=/usr/local/php/bin/php-config --with-pdo-odbc=/usr/local/freetds/

make && make install

然后修改php.ini

extension=pdo_odbc.so

再重启apachephpinfo查看一下即可
接着是thinkPHP的配置文件

//'配置项'=>'配置值'

'DB_TYPE' => 'pdo',//数据库类型

'DB_USER' => 'sa',//用户名

'DB_PWD'=> 'pwd',//密码

'DB_PORT' => '1433',//端口

'DB_PREFIX' => '',//数据库表前缀

'DB_CHARSET'=> 'utf8',//字符集

'DB_DSN' => "odbc:test_db",//odbc是linux的unixODBC驱动,test _db是unixODBC里的配置文件odbc.ini里的一个块的名字(以数据库为命名),定义了数据库和数据源

然后就可以正常的通过M()等来进行增删改查了,之前说到切换数据库,就是上面的配置项,貌似只使用freetds是不能切换数据库的

PS:应该是Azure SQL Database的某些设置,当时通过freetds的命令行链接数据库,进行切换数据库时报错了,所以就安装unixODBC来配合使用了

到这里关于【linux环境下thinkPHP框架通过PDO链接微软云的Azure SQL Database数据库】就基本结束了,刚入职公司就因为PHP链接数据库的问题折腾了半个月之久,原因有三:

- linux相关知识储备太少(安装中踩过太多坑,端口问题、白名单问题、防火墙等等),
- 安装软件、扩展等没着重留意版本问题,毕竟都是几个相互配合使用,一些版本问题确实会卡你很久,特别是你不留意的时候
- 工作经验、经验、验。。。

总之努力努力再努力!

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 196,264评论 5 462
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 82,549评论 2 373
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 143,389评论 0 325
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,616评论 1 267
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 61,461评论 5 358
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,351评论 1 273
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,776评论 3 387
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,414评论 0 255
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,722评论 1 294
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,760评论 2 314
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,537评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,381评论 3 315
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,787评论 3 300
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,030评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,304评论 1 252
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,734评论 2 342
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,943评论 2 336

推荐阅读更多精彩内容