Home  >  Article  >  Backend Development  >  Tutorial on installing PHP MSSQL extension under Linux, linuxmssql_PHP tutorial

Tutorial on installing PHP MSSQL extension under Linux, linuxmssql_PHP tutorial

WBOY
WBOYOriginal
2016-07-13 10:16:061078browse

Tutorial on installing PHP MSSQL extension under Linux, linuxmssql

PHP naturally has good support for MySQL, but if you want to use PHP to operate SQL Server, it will take some time. Today it happened that a project in the team needed to use PHP to operate SQL Server, so I helped configure the environment.

First of all, the system version of the server is SUSE Linux Enterprise Server 10 SP3.

1. Install FreeTDS

Address: FreeTDS

Copy code The code is as follows:

wget http://ibiblio.org/pub/Linux/ALPHA/freetds/stable/freetds-stable.tgz
tar zxvf freetds-stable.tgz
cd freetds-0.82
./configure --prefix=/usr/local/freetds --with-tdsver=8.0 --enable-msdblib --enable-dbmfix
make && make install

After successful installation, it is best to update the dynamic link library cache:
Copy code The code is as follows:

echo "/usr/local/freetds/lib" >> /etc/ld.so.conf
ldconfig

2. Configure FreeTDS and connect test

The configuration file of FreeTDS is placed in etc in the installation directory. According to the configure parameters in the first step, our FreeTDS is installed in /usr/local/freetds:

Copy code The code is as follows:

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

Since I don’t know the specific configurable items of FreeTDS, I won’t go into details here, but I will provide a more important configuration to solve the problem of Chinese garbled characters. Add the following statement in the configuration file:

Copy code The code is as follows:

client charset = utf8

Then, we use the tsql command to test whether we can connect to the SQL Server database normally:

Copy code The code is as follows:

cd /usr/local/freetds/bin
./tsql -H 192.168.0.254 -p 1433 -U sa -P 123456

If the connection is normal, the following statement should be displayed:

Copy code The code is as follows:

locale is "zh_CN.UTF-8"
locale charset is "UTF-8"
1>

3. Install the mssql extension for php

The PHP version on the server is 5.3.13, PHP has been installed under /usr/local/services/php, and the extension directory is /usr/local/services/php/extensions. Here’s how to install the mssql extension:

Copy code The code is as follows:

cd php-5.3.13/ext/mssql/
/usr/local/services/php/bin/phpize
./configure --with-php-config=/usr/local/services/php/bin/php-config --with-mssql=/usr/local/freetds

make #Generate expansion files and place them in the module folder of the current directory
cp modules/mssql.so /usr/local/services/php/extensions/ #Copy the extension file to the PHP extension directory

4. Configure php.ini and verify the installation results

Open php.ini and add the following expansion statement:

Copy code The code is as follows:

extension=mssql.so

After restarting the PHP service (the server uses php-fpm), print phpinfo. If the following configuration appears, it means that PHP can operate SQL Server normally.

Under Linux, I have installed apache and php, but php forgot to install the mssql extension. How can I reinstall the mssql extension?

1. Maybe you don’t need to install it. You can solve this problem by installing unixODBC yourself.
2. Maybe there are Linux security restrictions. Change the
SELINUX=enforce
in /etc/selinux to :SELINUX=disabled
3. Maybe mssql restrictions prevent remote login

After installing php under Linux, how to install other extension modules

Some modules also need to recompile PHP. It’s not as simple as just modifying php.ini

www.bkjia.comtruehttp: //www.bkjia.com/PHPjc/899059.htmlTechArticleTutorial on installing PHP MSSQL extension under Linux, linuxmssql PHP naturally has good support for MySQL, but you want to use PHP It will take some time to operate SQL Server. I just happened to be in the team today...
Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn