`
Catherine_luo
  • 浏览: 17793 次
  • 性别: Icon_minigender_2
  • 来自: 深圳
社区版块
存档分类
最新评论

linux php 安装sql server扩展

阅读更多

 

参照:  基于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])
 
修改成,dnl其实是注释,把dnl删除
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模块就成功了。

 

 

 

 

 

 

 

分享到:
评论

相关推荐

    php7的sqlserver扩展sqlsrv扩展安装,7.0-7.1-7.2所有扩展

    接下来,我们将分别介绍TS(线程安全)和NTS(非线程安全)版本的扩展安装过程,以及针对x64和x86架构的选择: 1. **线程安全版本(TS)**:适用于使用多线程Web服务器(如IIS)的情况。文件名中包含"ts"的dll文件...

    php7-sqlserver扩展.zip

    1. **系统兼容性检查**:确保你的操作系统(如Windows、Linux或macOS)和PHP版本与SQLServer扩展相兼容。对于PHP7,你需要下载对应版本的扩展。 2. **获取扩展**:从官方网站下载适用于你PHP版本和操作系统的...

    Linux 配置php链接sqlserver.docx

    在Linux环境中配置PHP 5.6.23以连接到SQL Server,主要涉及以下几个关键步骤,包括安装FreeTDS、验证FreeTDS、下载PHP源代码、安装PHP扩展以及配置PHP.ini。以下是对这些步骤的详细说明: 1. **安装FreeTDS**: ...

    基于Linux下PHP连接SQL Server方法

    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 连接SqlService需要的扩展`这个主题主要涉及如何在ThinkPHP5框架中配置和使用SQLServer数据库服务,这里我们详细探讨一下相关的知识点。 首先,`SqlService`通常指的是SQL Server服务,它是一个流行的...

    Linux Php连接SQLServer数据库

    ### Linux环境下通过PHP连接SQL Server数据库 在Linux环境中利用PHP连接SQL Server数据库是常见的操作需求之一,尤其是在处理跨平台数据库应用时。本文将详细介绍如何在Linux系统上配置环境,以便PHP能够成功连接到...

    php连接sqlserver数据库驱动.rar

    "php连接sqlserver数据库驱动.rar"这个压缩包很可能是包含PHP连接SQL Server所需的驱动程序,如PDO_SQLSRV或sqlsrv。本文将详细解释如何使用PHP连接到SQL Server数据库,以及相关的关键知识点。 首先,你需要确保你...

    php连接sqlserver扩展文件.rar

    "php连接sqlserver扩展文件.rar" 提供的正是这样一个扩展,使得PHP能够与Microsoft SQL Server进行交互,这对于开发基于PHP的手游后台系统至关重要。在本文中,我们将深入探讨如何使用PHP连接SQL Server以及涉及的...

    Linux编译mssql扩展使用php连接sqlserver2008的使用步骤

    在Linux环境下,将PHP与Microsoft SQL Server 2008集成是通过编译mssql扩展实现的。以下是一个详尽的步骤指南: 1. **安装配置FreeTDS**: FreeTDS是一个开源库,允许Linux系统连接到SQL Server数据库。首先,从...

    ubuntu+php5.6环境下连接sqlserver2008扩展库 mssql.so+pdo_dblib.so

    ubuntu14.04+php5.6环境下连接sqlserver2008扩展库 mssql.so+pdo_dblib.so,编译方法:http://blog.csdn.net/hanzengyi/article/details/52054862

    PHP7.3的sql server PDO_DBLIB库

    FreeTDS是一个开源项目,允许Linux和Unix系统与Microsoft SQL Server进行通信。 1. **PDO_DBLIB的优点** - **跨平台兼容性**:由于基于FreeTDS,PDO_DBLIB可以实现在非Windows系统上与SQL Server的连接。 - **...

    Linux环境下访问Windows环境下的SQL Server数据库

    总的来说,通过PHP FEDTDS扩展,Linux上的PHP应用程序可以顺利地读取、写入和管理Windows SQL Server数据库,从而满足了跨平台的数据交互需求。这种方法在处理多平台系统集成时具有较高的灵活性和实用性。

    PHP连接sqlserver数据库

    要在PHP中与SQL Server交互,首先需要安装相应的扩展。有两个主要的扩展可以选择:`mssql`(已过时)和`pdo_sqlsrv`/`sqlsrv`。`pdo_sqlsrv`是基于PDO(PHP Data Objects)的,提供面向对象的接口,而`sqlsrv`则...

    php连接sql server插件

    在实际应用中,开发者还需要注意兼容性问题,比如PHP版本与SQL Server版本之间的匹配,以及在不同操作系统(如Windows和Linux)上的差异。同时,安全性也是关键,应确保使用预处理语句和参数化查询来防止SQL注入攻击...

    Microsoft Drivers for PHP for SQL Server的有版本

    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.rar

    首先,要让PHP 5.3与SQL Server 2008兼容,你需要安装一个名为"Microsoft Drivers for PHP for SQL Server"的扩展。这个扩展由Microsoft官方开发,使得PHP能够通过ODBC或PDO接口连接到SQL Server数据库。在PHP 5.3的...

    UNIX_Linux下使用FreeTDS访问Microsoft SQL Server数据库.pdf

    在UNIX和Linux操作系统环境下,访问Microsoft SQL Server数据库的需求日益增长,而FreeTDS库就是解决这一问题的关键。FreeTDS是一个开源项目,它允许Linux和类UNIX系统与Microsoft的SQL Server数据库进行通信,实现...

    php mssql扩展SQL查询中文字段名解决方法

    参考文章提到了其他相关主题,比如在Linux环境下编译和使用mssql扩展、连接SQL Server 2008、在CentOS上安装PHP MSSQL扩展以及使用PDO、ADODB等方法连接MSSQL数据库。这些都可能对解决类似问题或在PHP中与SQL Server...

Global site tag (gtag.js) - Google Analytics