Home >Backend Development >PHP Tutorial >How to connect SQL Server with PHP under Linux_PHP Tutorial

How to connect SQL Server with PHP under Linux_PHP Tutorial

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOriginal
2016-07-13 17:34:27995browse

Ask a question

We did a very strange project a few days ago. Our company developed a set of SP-side short message service software based on China Unicom's SGIP protocol to provide China Unicom 130 SMS service. This system is under Windows 2000. The database uses Microsoft SQLServer2000 and has been running normally for some time. Recently, in order to provide some information of short message users on the WEB, it is necessary to read and write SQLServerdatabase from the WEB. Originally, SQLServerdatabase should be Microsoft IIS ASP server-side script, but our company has always believed that IIS+ASP is more stable and The security is not satisfactory. I hope to use PHP script to read and write SQL Server under Linux.

Analyze the problem

Originally PHP scripts read and write SQL Server without any problem. It can work very well under Apache for windows and Windows IIS. Generally, it can be done through ODBC or SQL Server. Client connection, this is all ready-made under Windows. However, there are no ready-made ODBC and SQLServer Client under Linux and we need to install them ourselves.

Solve the problem

1. Related software

freetds Source: ftp://ftp.ibiblio.org/pub/Linux/ALPHA/freetds/freetds-0.53.tgz

This software can connect MS SQLServer and Sybasedatabase using Linux and Unix.

2. Installation and configuration steps

Step one: Compile and install freetds:

After getting freetds-0.53.tgz

cp freetds-0.53.tgz /tmp/. (Copy the freetds package to the /tmp directory)

cd /tmp (enter directory)

tar zxvf freetds-0.53.tgz (unzip)

cd freetds-0.53 (enter the unzipped directory)

./configure –prefix=/usr/local/freetds --with-tdsver=7.0

gmake (generate Makefile, I have tested it, make can also do it)

gmake install (installation)

I want to say something about the configure above. --prefix=/usr/local/freetds refers to installing into the directory /usr/local/freetds, and --with-tdsver=7.0 refers to installing tds 7.0 Version (In the end, I did not add this compilation parameter, and the result was compiled to 5.0 by default. The port for 5.0 to connect to the database is 4000, not 1433 of SQLServer)

Step 2: RecompilePHP4

./configure [--with-apxs --with-mysql...] ​​--with-sybase=/usr/local/freetds (please note it is sybase)

make

make install

Step 3: Configure freetds

vi /usr/local/freetds/etc/freetds.conf

For specific configuration, see the instructions in this file

Example: (Typical configuration)

[sqlserver]

host = sql_server_name_or_host_ip (your SQLServer machine name or IP address)

port = 1433

tds version = 7.0

In this configuration file, you can configure two methods of Windows domain login or SQLServer account login

Step 4: ConfigurePHP.ini file

Found ;extension=mssql70.so

Remove the comment; to

extension=mssql70.so

Step 5: Establish database connection in PHP $link=mssql_connect("sqlserver",$your_username,$your_pass

word) or die (“can't Connect to Database”); echo $link;

Run the above script in the browser. If you get a link number, congratulations, you have configured it. If Call to undefined function: mssql_connect() appears, it means that you should carefully read the installation and configuration process above. Which step is wrong.

Note: The sqlserver name is the host parameter defined in /usr/local/freetds/etc/freetds.conf. If you write the IP address, it is the IP address.

Others

DatabaseOperation reference related mssql functions

Note that Chinese is not supported in sql statements!!!

Step 6: Debugging

If you cannot connect, please find the line "dump file = /tmp/freetds.log" in the freetds configuration file. Comment out the semicolon in front of it, then execute the test script and check /tmp/freetds. log file, it can tell you a lot of error information to help you troubleshoot problems.

www.bkjia.comtruehttp: //www.bkjia.com/PHPjc/508489.htmlTechArticleI did a very strange project a few days ago. Our company developed a set of SGIP protocols based on China Unicom The SP-side short message service software provides China Unicom 130 SMS service. This system...
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