怎么配置apache连接sqlserver

怎么配置apache连接sqlserver,第1张

下载驱动程序,下载后安装释放程序,里面有以下文件:

php_pdo_sqlsrv_52_nts.dll

php_pdo_sqlsrv_52_ts.dll

php_pdo_sqlsrv_53_nts_vc6.dll

php_pdo_sqlsrv_53_nts_vc9.dll

php_pdo_sqlsrv_53_ts_vc6.dll

php_pdo_sqlsrv_53_ts_vc9.dll

php_sqlsrv_52_nts.dll

php_sqlsrv_52_ts.dll

php_sqlsrv_53_nts_vc6.dll

php_sqlsrv_53_nts_vc9.dll

php_sqlsrv_53_ts_vc6.dll

php_sqlsrv_53_ts_vc9.dll

SQLServerDriverForPHP.chm(手册,英文够好的话,可以看看,嘿嘿)

SQLServerDriverForPHP_License.rtf

SQLServerDriverForPHP_Readme.htm(自述文件)

?

关于VC6和VC9的区别

VC6 版本是使用 Visual Studio 6 编译器编译的,如果你是在windows下使用Apache+PHP的,请选择VC6版本。

VC9 版本是使用 Visual Studio 2008 编译器编译的,如果你是在windows下使用IIS+PHP的,请选择VC9版本。

?

开始配置

选择php_sqlsrv_53_ts.dll和php_pdo_sqlsrv_53_ts.dll。把文件拷贝到PHP文件夹下的ext目录下,然后在配置文件php.ini

的Extensions后面加上:

extension=php_sqlsrv_53_ts.dll

extension=php_pdo_sqlsrv_53_ts.dll

再重启Apache服务。

最后测试一下是否成功,在PHP中执行phpinfo()的查看sqlsrv、看图画红线处、如图所示这样就表示连接成功了!!

?

1.Windows Authentication连接

<?php

$serverName = "(localhost)"

$connectionInfo = array("Database"=>"test","ConnectionPooling"=>false)

$conn = sqlsrv_connect( $serverName, $connectionInfo)

if( $conn == false)

{

echo "连接失败!"

die( print_r( sqlsrv_errors(), true))

}

?>

?

2.SQL Server Authentication连接

?

<?php

$serverName = "localhost"//数据库服务器地址

$uid = "sa"//数据库用户名

$pwd = "123"//数据库密码

$connectionInfo = array("UID"=>$uid, "PWD"=>$pwd, "Database"=>"cart")

$conn = sqlsrv_connect( $serverName, $connectionInfo)

if( $conn == false)

{

echo "连接失败!"

die( print_r( sqlsrv_errors(), true))

}

//执行有结果集的SQL语句

$query = sqlsrv_query($conn, "select * from tb_goods")

while($row = sqlsrv_fetch_array($query))

{

echo $row[0]."-----".$row[1]."<br/>"

}

//执行增删改的SQL语句

?$rs=sqlsrv_query($conn,"update tb_goods set name='中国劲酒' where name='劲酒'")

?$num=sqlsrv_rows_affected($rs)//返回修改的行数

?if($num>0)

{

echo '修改成功!'.$num?

}

else

{

echo '修改失败!'

}

?>

?

用于 SQL Server Driver for PHP 的 API 名称是 sqlsrv。所有 sqlsrv函数都以 sqlsrv_打头,

SQL Server Driver for PHP 包含以下函数:

函数 说明

sqlsrv_begin_transaction 开始事务。

sqlsrv_cancel 取消语句;并放弃相应语句的所有未决结果。

sqlsrv_client_info 提供有关客户端的信息。

sqlsrv_close 关闭连接。释放与相应连接关联的所有资源。

sqlsrv_commit 提交事务。

sqlsrv_configure 更改错误处理和日志记录配置。

sqlsrv_connect 创建一个连接,并将其打开。

sqlsrv_errors 返回关于上一 *** 作的错误和/或警告信息。

sqlsrv_execute 执行预定义语句。

sqlsrv_fetch 使下一行的数据可供读取。

sqlsrv_fetch_array 以数值索引数组、关联数组或这两种数组的形式检索下一行的数据。

sqlsrv_fetch_object 以对象形式检索下一行的数据。

sqlsrv_field_metadata 返回字段元数据。

sqlsrv_free_stmt 关闭语句。释放与相应语句关联的所有资源。

sqlsrv_get_config 返回指定配置设置的值。

sqlsrv_get_field 按索引检索当前行中的字段。可以指定 PHP 返回类型。

sqlsrv_has_rows 检测结果集是否具有一行或多行。

sqlsrv_next_result 使下一结果可供处理。

sqlsrv_num_rows 报告结果集中的行数。

sqlsrv_num_fields 检索活动结果集中的字段数。

sqlsrv_prepare 准备 Transact-SQL 查询,但不执行该查询。隐式绑定参数。

sqlsrv_query 准备 Transact-SQL 查询,并将其执行。

sqlsrv_rollback 回滚事务。

sqlsrv_rows_affected 返回有所修改的行的数目。

sqlsrv_send_stream_data 在每次调用函数时向服务器发送最多八千字节 (8 KB) 的数据。

sqlsrv_server_info 提供有关服务器的信息。

Linux下PHP 5.2.17测试成功

tar zxvf freetds-0.8.2.tar.gz

cd freetds-0.8.2/

./configure --enable-msdblib --prefix=/usr/local/freetds --with-tdsver=8.0

make &&make install

cd /home/lnmp0.9/php-5.2.17/ext/mssql/ 依个人可能不同

/usr/local/php/bin/phpize ####php扩展信息

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

make &&make install

vim /usr/local/php/etc/php.ini

在extension = "pdo_mysql.so"下面添加

extension = "mssql.so"

保存后,/root/lnmp restart 即可

若搜索的结果有中文乱码则

vim /usr/local/freetds/etc/freetds.conf

[global] 加上

client charset = utf8

$sql=mssql_connect('192.168.0.185','sa','1','1433')

mssql_select_db('test',$sql)

$result=mssql_query("select top 10 * from test1")

while($row=mssql_fetch_assoc($result)){

print_r($rows)

}

freetds-0.8.2.tar.gz下载地址:

免费下载地址在 http://linux.linuxidc.com/

用户名与密码都是www.linuxidc.com

现在php都主推 7了 最低也是 5.6了 ,你这版本都好低呀

php升级,php是脚本语言,直接下载对应版本的php,然后,经apache的php模块 替换就是了

如果是开发 用phpstudy等集成开发软件就可以了 ,如果要练手 建议配置Linux 上的lamp,lnmp环境

apache 其中的配置 修改

加载PHP模块,注意绝对路径:

#php5.6LoadModule php5_module D:/phpsetup/php/php-5.6.22-Win32-VC11-x86/php5apache2_4.dll

<IfModule php5_module>

PHPIniDir "D:/phpsetup/php/php-5.6.22-Win32-VC11-x86/"

AddType application/x-httpd-php .php

AddType application/x-httpd-php-source .phps</IfModule>

如果是php7,相应更改即可:

#php7LoadModule php7_module D:/phpsetup/php/php-7.0.13-Win32-VC14-x64/php7apache2_4.dll<IfModule php7_module>

PHPIniDir "D:/phpsetup/php/php-7.0.13-Win32-VC14-x64/"

AddType application/x-httpd-php .php

AddType application/x-httpd-php-source .phps</IfModule>

进入php源程序目录中的ext目录中,这里存放着各个扩展模块的源代码,选择你需要的模块,比如curl模块:cd curl执行phpize生成编译文件!

phpize在PHP安装目录的bin目录/usr/local/php5/bin/phpize运行时,

可能会报错:Cannot find autoconf. Please check your autoconf installation andthe $PHP_AUTOCONFenvironment variable is set correctly and then rerun thisscript.,需要安装autoconf:yum install autoconf(RedHat或者CentOS)、apt-get installautoconf(Ubuntu Linux)!

执行/usr/local/php5/bin/php -v这个命令时,php会去检查配置文件是否正确,

如果有配置错误,这里会报错,可以根据错误信息去排查!


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/8549664.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-17
下一篇 2023-04-17

发表评论

登录后才能评论

评论列表(0条)

保存