PHP移植小记
所需文件:
Phpnow 1.5.6 文件夹(D盘);
SQL Server2005 x86 安装包(D盘‘安装文件文件夹’);
数据库创建命令;
更改sql server 2005的服务器名称
可以用如下步骤:
1. 打开Management Studio
2. 输入 SELECT
@@ServerName 显示名字, 如AAAA
3. 输入
sp_dropserver 'AAAA'
4. 输入
sp_addserver 'BBBB' ,local
5. 重新启动数据库服务
注意:以上3&4sp后面都有下划线,4中local前有逗号。
这个是用于在修改计算机名后,
与服务器名称相关的一些应用(例如replication复制)异常时, 采用的修改方法
Selsct @@ServerName 查询
exec sp_dropserver '改名前的名称' 删除
sp_addserver '当前的名称', local 添加
如何配置SQL Server 2005 以允许远程连接
默认情况下,SQLServerExpressEdition 2005和SQL Server 2005开发版不允许远程连接。
要允许远程连接SQL Server 2005 ,需要完成以下步骤:
在SQLServer 实例上启用远程连接。
打开服务器 SQLBrowser 服务。
配置防火墙以允许SQLBrowser 服务和SQLServer服务网络通信。
在SQLServer 实例上启用远程连接
1.指向“开始->程序->Microsoft SQL Server 2005->配置工具->SQL Server 外围应用配置器”
2.在“SQL Server 2005 外围应用配置器”页, 单击“服务和连接的外围应用配置器”
3.然后单击展开“数据库引擎”, 选中“远程连接”,在右边选中“本地连接和远程连接”,
再选择要使用的协议,单击“应用”,您会看到下消息:
“直到重新启动数据库引擎服务后,对连接设置所做的更改才会生效。”,单击“确定”按钮返回
4.展开“数据库引擎”, 选中“服务”,在右边单击“停止”,等到 MSSQLSERVER 服务停止,
然后单击“启动”,重新启动MSSQLSERVER 服务。
启用 SQLServer 浏览器服务
1.指向“开始->程序->Microsoft SQL Server 2005->配置工具->SQL Server 外围应用配置器”
2.在“SQL Server 2005 外围应用配置器”页, 单击“服务和连接的外围应用配置器”
3.然后单击展开“SQL Server Browser”, 选中“服务”,在右边“启动类型”选择“自动”,
再单击“启动”,单击“确定”按钮返回
在Windows 防火墙中为“SQL Server 2005”创建例外
1.在 Windows 防火墙设置界面中,选择“ 例外” 选项卡,然后单击“添加程序”
2.在“添加程序窗口”中单击“浏览”
3.然后找到“C:ProgramFilesMicrosoft FilesMicrosoft SQL Server MSSQL.1 MSSQLBinnsqlservr.exe”,
单击“确定”返回
注意 : 路径可能会根据 SQL Server 2005 安装不同而不同。 MSSQL.1 是占位符,对应数据库实例ID。
4.对每个需要打开远程访问的SQL Server 2005 实例,重复步骤 1 至 3。
在Windows 防火墙中为“SQLBrowser”创建例外
1.在 Windows 防火墙设置界面中,选择“ 例外” 选项卡,然后单击“添加程序”
2.在“添加程序窗口”中单击“浏览”
3.然后找到“C:ProgramFilesMicrosoft FilesMicrosoft SQL Server90Sharedsqlbrowser.exe”,
单击“确定”返回
注意 : 路径可能会根据 SQL Server 2005 安装不同而不同。
1、在搭建移植过程中遇到的问题:无法连接数据库,出现Fatal error: Call to undefined function mssql_connect() ……
问题解决的方法:
l extension=php_mssql.dll的注释符号去掉
l mssql.secure_connection = Off改为on
l php_mssql.dll拷贝到php.ini中extension_dir 指定的目录或者系统system32目录下
头疼了好久,在吃饭的过程中想到可能要把php_mssql.dll加到system32下,然后回来试了一下,果然成功了
做文档确实很有用,后悔以前没做文档了。
2、数据库中的datetime类型数据转换成时间戳出错,无法与当前时间比较
问题解决的办法:
原始的datetime类型转换无法解决,于是没有直接解决的办法,把datetime时间类型改为varchar(50)了。