月度归档:2013年11月

PHP连接SQLserver问题

服务器环境是php5.4 + sqlServer 2008 express + IIS7.5,如何在window主机上配置PHP请看这里,注意下载的PHP要是非线程安全版本(VC9 x86 Non Thread Safe)并安装相应的VC2008运行库,下面说连接SQL2008。

首先要下载下载Microsoft Drivers 3.0 for PHP for SQL Server目前匹配的php版本为php5.4,php5.5等更新的版本不适用此扩展,下载解压后将所有的dll文件拷贝至php目录下的ext目录,然后修改php.ini并重启IIS就可以了:

extension_dir = “ext”
extension=php_sqlsrv_54_nts.dll
extension=php_pdo_sqlsrv_54_nts.dll

特别要注意的是在连接字符串的主机声明中要加上数据库实例的名称,因为用的sqlServer 2008 expresss所以下面的实例名称是SQLEXPRESS,要不然会出现莫名其妙的错误,例如下面的:

[Microsoft][SQL Server Native Client 11.0]命名管道提供程序: 无法打开与 SQL Server 的连接 

[Microsoft][SQL Server Native Client 11.0]与 SQL Server 建立连接时发生了与网络相关的或特定于实例的错误。找不到或无法访问服务器。请检查实例名称是否正确以及 SQL Server 是否配置为允许远程连接。有关详细信息,请参阅 SQL Server 联机丛书。

写成下面3种格式都可以,只要带上实例名就好,远程连接可以换成远程主机地址,这个我也还没试过:

$serverName = “PC888\SQLEXPRESS”;  //主机局域网名称,或者本机IP也可以
$serverName = “localhost\sqlexpress”;  //本机地址,127.0.0.1也可以
$serverName = “(local)\sqlexpress”;  //另一种本机地址

端口号是不需要填写的,如后面填写1433或其他端口号,例如:$serverName = “NET8-PC\SQLEXPRESS,1433″,会出现错误“由于目标机器积极拒绝,无法连接 ”

完整面向过程连接代码如下:

<?php
$serverName = ‘(local)\SQLEXPRESS’;
$connectionInfo = array(‘UID’ => ‘sa’,’PWD’ =>’123456′,’DATABASE’ => ‘testdb’);
$conn = sqlsrv_connect($serverName,$connectionInfo);
if($conn === false){
echo “Unable to connect”;
die( print_r( sqlsrv_errors() ) );
}else{
echo ‘Connection successful’;
}
sqlsrv_close( $conn );
?>

也可以用PDO方法,方便好用。

地心引力

地心引力

地心引力

前几天去看了地心引力,迟到了几分钟,就看到宇航员在音乐中貌似很闲适地飘啊飘,因为没看豆瓣上的剧透,还以为接下来是外星人入侵地球之类的老套灾难科幻片加上现在的特效,不过很快就发现想错了。太空碎片飞速而来,将空间站撞的七零八落,人就跟溜溜球一样不停旋转,此时的人类显得极其渺小而无助,瞬间就只剩男主角Kowalski跟女主角Stone其他宇航员全部死翘翘,然后就开始了艰辛的回到地球的旅程,也是Stone的一次重生。

视觉效果非常棒,从来没有见过这样的长镜头把太空中的动作拍的如此自然,这部电影应该跟阿凡达一样是科幻片的一个突破了,也是后来者的标杆。

Kowalski主动松手放开安全绳的情节貌似在那部电影中有个攀岩的桥段里面也有,绳子必须不够结实缠不住2个人啊,貌似美剧里面自我牺牲拯救他人的画面极少出现,一般都是英雄下凡,碾碎一切敌人跟困难,再闪亮谢幕。

而这部电影的特色就是没有英雄主义,Kowalski悲壮地飘走,也将自己的生命延续给了Stone,而前面两人的对话也道明了Stone曾失去了自己的女儿,受到沉重的打击,像灾难后宇航员飘浮在太空,灵魂就是尘埃一样的的存在,而痛苦仿佛是无尽的漆黑的太空。Stone在逃生中一度放弃了希望,后来重新觉醒。怎么觉醒的不重要,重要的是Stone明白了如果自己就这样死去,那么自己女儿和Kowalski的离去就没有了意义,唯有尽一切努力活下去。前面拼命回到地球是单纯的逃生,为自己,后面觉醒后开动脑筋回到地球则是为了延续,延续自己对深爱的女儿、对舍弃生命保全自己的Kowalski的记忆。Kowalski为了他人而死,Stone为了他人而活。这部片应该是今年最出色的电影了。