PHP-MySQL là quá đơn giản và phổ biến với người làm web khi thuê VPS Linux. Tuy nhiên sử dụng code PHP để kết nối vào Database Microsoft SQL Server đôi khi lại làm người sử dụng lúng túng. Có rất nhiều lý do cho việc này mà cụ thể nhất là khi ứng dụng được viết bằng PHP, còn dữ liệu thì đã được xây dựng sẵn bằng SQL server và nó đã trở nên đủ phức tạp để không thể convert sang MySQL. Lúc này, ta buộc phải tìm cách kết nối PHP vào SQL Server. Nguyên tắc của việc này là cài đặt một bộ driver SQL Server cho PHP, trước đây việc này tương đối phức tạp khi phải setup ODBC driver. Hiện tại, đã có nhiều repository hỗ trợ việc này và việc cài đặt là vô cùng đơn giản, các driver sẽ được tự động cài khi cài module liên quan. 3TVN xin giới thiệu cách làm như sau:
#Cài đặt rpmforge repository rpm -ivh http://dag.wieers.com/rpm/packages/rpmforge-release/rpmforge-release-0.5.2-2.el6.rf.x86_64.rpm
#Cài đặt remi repository cd /etc/yum.repos.d/ wget http://rpms.famillecollet.com/enterprise/remi.repo #Cài đặt các thư viện liên quan và module php-mssql yum install freetds yum install freetds-devel yum install --enablerepo=remi php-mssql
Quá trình cài đặt thành công, ta tạo file connect-mssql.php để kết nối vào SQL server. Để test kết nối, ta cần phải mở remote login cho user của database SQL server
<?php $myServer = "103.1.x.x"; $myUser = "testweb"; $myPass = "testweb"; $myDB = "testweb"; //connection to the database $dbhandle = mssql_connect($myServer, $myUser, $myPass) or die("Couldn't connect to SQL Server on $myServer"); //select a database to work with $selected = mssql_select_db($myDB, $dbhandle) or die("Couldn't open database $myDB"); //declare the SQL statement that will query the database $query = "SELECT * FROM tb_test "; //execute the SQL query and return records $result = mssql_query($query); $numRows = mssql_num_rows($result); echo "<h1>" . $numRows . " Row" . ($numRows == 1 ? "" : "s") . " Returned </h1>"; //display the results while($row = mssql_fetch_array($result)) { echo "<li>" . $row["ID"] ." ".$row["TestName"] . "</li>"; } //close the connection mssql_close($dbhandle); ?>
Và kết quả trả về thật tốt.
Như vậy ta hoàn toàn có thể thuê VPS Linux để cài đặt các webserver Apache hay Nginx với PHP quen thuộc và thuê VPS Windows để chạy riêng cho SQL Server. Tất nhiên đây là trường hợp ít gặp nhưng qua đó ta có thể thấy rằng việc thực hiện kết hợp là đơn giản và dễ dàng.