参照: 基于Linux下PHP连接SQL Server的FreeTDS配置
使用phpize建立php扩展 Cannot find config.m4.
注:php安装地方 /usr/local/php
php源码包 /usr/local/src/php-4.3.5
FreeTDs下载http://ftp.ibiblio.org/pub/Linux/ALPHA/freetds/stable/freetds-stable.tgz
1、编译安装FreeTDS
tar zxvf freetds-stable.tgz cd freetds-0.91 ./configure --prefix=/usr/local/freetds --with-tdsver=8.0 --enable-msdblib make make install echo "/usr/local/freetds/lib/" > /etc/ld.so.conf.d/freetds.conf ln -s /usr/local/freetds/lib/libsybdb.so.5.0.0 /usr/local/freetds/lib/libsybdb.so.4 /sbin/ldconfig cd /usr/local/freetds/etc cp freetds.conf freetds.conf.bak vi freetds.conf
修改freetds.conf
[global] # TDS protocol version ; tds version = 4.2 # Whether to write a TDSDUMP file for diagnostic purposes # (setting this to /tmp is insecure on a multi-user system) ; dump file = /tmp/freetds.log ; debug flags = 0xffff # Command and connection timeouts ; timeout = 10 ; connect timeout = 10 # If you get out-of-memory errors, it may mean that your client # is trying to allocate a huge buffer for a TEXT field. # Try setting 'text size' to a more reasonable limit text size = 64512 host = mssql.yourdomain.com port = 1433 tds version = 8.0 client charset = UTF-8
2、配置phpize
由于运行/usr/local/php/bin/phpize时报以下的错,所以要配置一下phpize。如果运行phpize不报错,则直接跳至3
[root@ns root]# /usr/local/php/bin/phpize
Cannot find config.m4.
Make sure that you run /usr/local/bin/phpize in the top level source directory of the module
解决方法
cd /usr/local/src/php-4.3.5/ext/ ./ext_skel --extname=sdomain cd sdomain/ vi config.m4
2.1、修改config.m4
将
dnl PHP_ARG_ENABLE(my_module, whether to enable my_module support, dnl Make sure that the comment is aligned: dnl [ --enable-my_module Enable my_module support])
PHP_ARG_ENABLE(my_module, whether to enable my_module support, [ --enable-my_module Enable my_module support])
2.2、修改sdomain.c
将其中的代码修改成
function_entry my_module_functions[] = { PHP_FE(say_hello, NULL) /* 添加这一行代码 */ PHP_FE(confirm_my_module_compiled, NULL) /* For testing, remove later. */ {NULL, NULL, NULL} /* Must be the last line in my_module_functions[] */ };
在文件最后添加
PHP_FUNCTION(say_hello) { zend_printf("hello sdomain!"); }
2.3 修改php_sdomain.h
PHP_FUNCTION(confirm_my_module_compiled ); /* For testing, remove later. */ /*这行的下面添加一行*/ PHP_FUNCTION(say_hello); /* For testing, remove later. */
2.4运行phpize
[root@ns sdomain]# /usr/local/php/bin/phpize
Configuring for:
PHP Api Version: 20020918
Zend Module Api No: 20020429
Zend Extension Api No: 20050606
出现以上信息,则配置成功啦!
3、重新编译PHP,使用phpize会保留以前的配置
先确保php.ini里的extension_dir="/usr/local/php/ext",如果不先设置它的扩展路径的话,重新编译不会把mssql.so放到/usr/local/php/ext下的。当然,你不设置也可以。make install时,它会提示扩展放到那里去了。
cd /usr/local/src/php-4.3.5/ext/mssql/ /usr/local/php/bin/phpize ./configure --with-php-config=/usr/local/webserver/php/bin/php-config --with-mssql=/usr/local/webserver/freetds/ make make install
在php.ini增加一行extension = "mssql.so"
4、重启PHP FastCGI, 用phpinfo();查看一下如果看见mssql模块就成功了。
相关推荐
接下来,我们将分别介绍TS(线程安全)和NTS(非线程安全)版本的扩展安装过程,以及针对x64和x86架构的选择: 1. **线程安全版本(TS)**:适用于使用多线程Web服务器(如IIS)的情况。文件名中包含"ts"的dll文件...
1. **系统兼容性检查**:确保你的操作系统(如Windows、Linux或macOS)和PHP版本与SQLServer扩展相兼容。对于PHP7,你需要下载对应版本的扩展。 2. **获取扩展**:从官方网站下载适用于你PHP版本和操作系统的...
在Linux环境中配置PHP 5.6.23以连接到SQL Server,主要涉及以下几个关键步骤,包括安装FreeTDS、验证FreeTDS、下载PHP源代码、安装PHP扩展以及配置PHP.ini。以下是对这些步骤的详细说明: 1. **安装FreeTDS**: ...
echo "connect sqlserver error"; exit; } mssql_select_db("database_name", $msdb); $result = mssql_query("SELECT top 5 * FROM table", $msdb); while ($row = mssql_fetch_array($result)) { var_dump($...
`thinkphp5 连接SqlService需要的扩展`这个主题主要涉及如何在ThinkPHP5框架中配置和使用SQLServer数据库服务,这里我们详细探讨一下相关的知识点。 首先,`SqlService`通常指的是SQL Server服务,它是一个流行的...
### Linux环境下通过PHP连接SQL Server数据库 在Linux环境中利用PHP连接SQL Server数据库是常见的操作需求之一,尤其是在处理跨平台数据库应用时。本文将详细介绍如何在Linux系统上配置环境,以便PHP能够成功连接到...
"php连接sqlserver数据库驱动.rar"这个压缩包很可能是包含PHP连接SQL Server所需的驱动程序,如PDO_SQLSRV或sqlsrv。本文将详细解释如何使用PHP连接到SQL Server数据库,以及相关的关键知识点。 首先,你需要确保你...
"php连接sqlserver扩展文件.rar" 提供的正是这样一个扩展,使得PHP能够与Microsoft SQL Server进行交互,这对于开发基于PHP的手游后台系统至关重要。在本文中,我们将深入探讨如何使用PHP连接SQL Server以及涉及的...
ubuntu14.04+php5.6环境下连接sqlserver2008扩展库 mssql.so+pdo_dblib.so,编译方法:http://blog.csdn.net/hanzengyi/article/details/52054862
在Linux环境下,将PHP与Microsoft SQL Server 2008集成是通过编译mssql扩展实现的。以下是一个详尽的步骤指南: 1. **安装配置FreeTDS**: FreeTDS是一个开源库,允许Linux系统连接到SQL Server数据库。首先,从...
FreeTDS是一个开源项目,允许Linux和Unix系统与Microsoft SQL Server进行通信。 1. **PDO_DBLIB的优点** - **跨平台兼容性**:由于基于FreeTDS,PDO_DBLIB可以实现在非Windows系统上与SQL Server的连接。 - **...
总的来说,通过PHP FEDTDS扩展,Linux上的PHP应用程序可以顺利地读取、写入和管理Windows SQL Server数据库,从而满足了跨平台的数据交互需求。这种方法在处理多平台系统集成时具有较高的灵活性和实用性。
要在PHP中与SQL Server交互,首先需要安装相应的扩展。有两个主要的扩展可以选择:`mssql`(已过时)和`pdo_sqlsrv`/`sqlsrv`。`pdo_sqlsrv`是基于PDO(PHP Data Objects)的,提供面向对象的接口,而`sqlsrv`则...
在实际应用中,开发者还需要注意兼容性问题,比如PHP版本与SQL Server版本之间的匹配,以及在不同操作系统(如Windows和Linux)上的差异。同时,安全性也是关键,应确保使用预处理语句和参数化查询来防止SQL注入攻击...
Microsoft Drivers for PHP for SQL Server的有版本,Microsoft® ODBC Driver 11 for SQL Server,Microsoft® ODBC Driver 13 for SQL ...SQLSRV30.EXE-5.2所有版本,支持PHP连接SQLServer的ODBC驱动和扩展模块。
首先,要让PHP 5.3与SQL Server 2008兼容,你需要安装一个名为"Microsoft Drivers for PHP for SQL Server"的扩展。这个扩展由Microsoft官方开发,使得PHP能够通过ODBC或PDO接口连接到SQL Server数据库。在PHP 5.3的...
在UNIX和Linux操作系统环境下,访问Microsoft SQL Server数据库的需求日益增长,而FreeTDS库就是解决这一问题的关键。FreeTDS是一个开源项目,它允许Linux和类UNIX系统与Microsoft的SQL Server数据库进行通信,实现...
参考文章提到了其他相关主题,比如在Linux环境下编译和使用mssql扩展、连接SQL Server 2008、在CentOS上安装PHP MSSQL扩展以及使用PDO、ADODB等方法连接MSSQL数据库。这些都可能对解决类似问题或在PHP中与SQL Server...