Cent OS下部署PHP应用(SQL Server数据库)

1 篇文章 0 订阅
1 篇文章 0 订阅

一、下载PHP和Apache

1. Sudo yum install httpd -y 安装 Apache

2. 安装PHP(我安装的是5.6版本),可以直接yum安装,但是后面要编译很多额外的库,还是需要安装包编译更方便点

    1) # wget -O php5.tar.gz http://cn2.php.net/get/php-5.6.34.tar.gz/from/this/mirror

    2)# tar zxvf php-5.6.34.tar.gz

    3)  # cd php-5.6.34 进行编译,在此之前需要先安装几个模块

        31)# yum install httpd-devel.x86_64  (对应你电脑的位数) :添加apache的apxs模块,然后在apache的配置文件                  httpd.conf文件里面找到

            AddType  application/x-compress .Z

            AddType application/x-gzip .gz .tgz

            在后面添加:

            AddType application/x-httpd-php .php(使Apcche支持PHP)

        32)安装libiconv模块:

             #wget http://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.13.1.tar.gz

             #tar -zxvf libiconv-1.13.1.tar.gz 

             # cd libiconv-1.13.1

             # ./configure --prefix=/usr/local/libiconv (指定路径)

             # make && make install

         33)如果需要高版本的gcc,可以参考这里进行安装

     4)编译:php-5.6.34路径下

        ./configure --prefix=/usr/local/php \
         --with-apxs2=/usr/sbin/apxs \
         --with-curl \
         --with-freetype-dir \
         --with-gd \
         --with-gettext \
         --with-kerberos \
         --with-libdir=lib64 \
         --with-libxml-dir \
         --with-mysqli \
         --with-openssl \
         --with-pcre-regex \
         --with-pdo-mysql \
         --with-mcrypt \
         --with-mhash \
         --with-openssl \
         --with-mysql-sock=/var/lib/mysql/mysql.sock \
         --with-mysqli=shared,mysqlnd \
         --with-pdo-sqlite \
         --with-pear \
         --with-png-dir \
         --with-xmlrpc \
         --with-xsl \
         --with-zlib \
         --enable-fpm \
         --enable-bcmath \
         --enable-libxml \
         --enable-inline-optimization \
         --enable-gd-native-ttf \
         --enable-mbregex \
         --enable-mbstring \
         --enable-opcache \
         --enable-pcntl \
         --enable-shmop \
         --enable-soap \
         --enable-sockets \
         --enable-sysvsem \
         --enable-xml \
         --enable-zip \
         --with-iconv-dir=/usr/local/libiconv \      
         --with-config-file-path=/etc

       注意: libiconv的编译参数是--with-iconv-dir而不是--with-iconv,--with-config-file-path对应的是你生成php.ini的路径,也可以编译完后手动复制:php-5.6.34路径#cp php.ini-production  /etc/php.ini

     5)编译生成Makefile文件,在其中找到 EXTRA_LIBS = -lcrypt -lz -lcrypt ..... -lm -lcrypt  在后面加上-liconv 就可以编译libconv库了

      6)#make && make install

      7)  正常都可以安装成功,我装了几次都可以。

  3. 上面扩展的时候也可以加上GD库,才可以让你的应用可以读取到验证码图片和表格之类,我一般是手动加上:

        # yum --enablerepo=remi-php56 install php-gd php-mysql php-mbstring php-xml php-mcrypt

  4. 安装Freetds,低版本的php要访问SQL server,这是比较快捷的方法,PPH7以上好像直接可以用mssql.

        # wget ftp://ftp.freetds.org/pub/freetds/stable/freetds-patched.tar.gz     

        # tar -zxvf freetds-patched.tar.gz

        # cd freetds-0.95

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

        # make && make install

     --with-tdsver参数对应不同sql server的版本,我的是2012,对应7.4 

     这一步可以参考:这里

  5. 安装完freetds,就可以回过头来继续安装PHP扩展mssql:

        # cd php-5.6.34/ext/mssql/

        # /usr/local/php/bin/phpize  (/usr/local对应你安装php的路径)

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

       # make && make install

   安装完会生成mssql.so, 我的在/usr/local/php/lib/php/extensions/no-debug-non-zts-20131226/mssql.so下面

   把so文件复制到php的扩展文件夹下,我的在/usr/lib64/php/modules/,然后再php.ini中加上extension = "mssql.so"

   就可以引用mssql了。

 6. FreeTds记得进行配置:/usr/local/freetds/etc/freetds.conf 下新增实例:

        [sql2012]
          host = 11.22.122.212  #你访问的sql server服务器ip
          port = 8720                 #端口,默认1433

          tds version = 7.4         #对应freetds版本,我试过可以向下兼容

  7. 配置完成在你的php代码中进行类似以下调用:

         $db=mssql_connect("sql2012","db_user","db_password"); 

        if (!$db) {  
            echo "connect sqlserver error";  
            exit;  
        }  
        mssql_select_db("db_name",$db);  
        $result = mssql_query("SELECT top 5 * FROM tablename", $db);  
        while($row = mssql_fetch_array($result)) {  
             print_r($row);  
        }  
        mssql_free_result($result); 
    即可获取数据库内容。



                   


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值