Looking for more information on how to do PHP the right way? Check out PHP: The Right Way

Rob Allen:
Inserting binary data into SQL Server with ZF1 & PHP 7
May 22, 2017 @ 09:34:51

In an interesting mix of "old" and "new" Rob Allen as shown in this new post to his site how to push binary data into a SQL Server database from a Zend Framework v1 application.

If you want to insert binary data into SQL Server in Zend Framework 1 then you probably used the trick of setting an array as the parameter's value with the info required by the sqlsrv driver as noted in Some notes on SQL Server blobs with sqlsrv.

[...] Working through the problem, I discovered that this is due to Zend_Db_Statement_Sqlsrv converting the $params array to references with this code. The Sqlsrv driver (v4) for PHP 7 does not like this! As Zend Framework 1 is EOL, we can't get a fix into upstream and update the new release, so we have to write our solution.

He includes the code for the "hack" that you'd normally have to do to push the binary data into the database. Zend Framework v1 is EOL (end of life) so the Zend_Db_Statement_Sqlsrv class can't be updated. Instead, he writes his own replacement, creating a new adapter specific to the application that handles the input as the SQL Server driver is expecting. He then updates the application configuration to force the new adapter to be used when the ZF1 application needs to connect to the SQL Server database.

tagged: insert binary data sqlserver zendframework php7 tutorial adapter

Link: https://akrabat.com/inserting-binary-data-into-sql-server-with-zf1-php-7/

Zend Framework Blog:
PHP and SQL Server for Linux
Feb 15, 2017 @ 11:21:52

The Zend Framework blog has a new post from Enrico Zimuel talking about the use of SQL Server for Linux from inside a PHP-based application. This makes use of the preview release of SQL Server for Linux directly from Microsoft.

This week we tested the public preview of Microsoft SQL Server for Linux using PHP 7 with our component zendframework/zend-db.

Microsoft announced the availability of a public preview of SQL Server for Linux on the 16th of November, 2016. [...] Moreover, the performance of the new DBMS seems to be very impressive. Microsoft published a case study with 1.2 million requests per second with In-Memory OLTP on a single commodity server.

The tutorial shows you how to get the SQL Server software installed on a Ubuntu-based system and install it via apt-get. They also show how to install the command line tool for SQL Server and get the msodbcsql driver needed to make the connection. Finally they show how to set up the driver with PHP 7 (via PDO) and running the Zend/Db integration tests using a Vagrant-created and configured VM instance.

tagged: sqlserver linux tutorial php7 install configure vagrant microsoft

Link: https://framework.zend.com/blog/2017-02-14-php-sql-server-linux.html

Remi Collet:
Microsoft SQL Server from PHP
Sep 23, 2016 @ 11:57:34

In this recent post to his site Remi Collet shows you how to set up your PHP installation to allow it to work with a Microsoft SQL Server as it's data store.

Here is a small comparison of the various solutions to use a [Microsoft SQL Server](https://en.wikipedia.org/wiki/Microsoft_SQL_Server) database from PHP, on Linux. All the tests have be run on Fedora 23 but should work on RHEL or CentOS version 7.

Several different extensions were tested as a part of making the connection to the SQL server:

  • Using PDO, ODBC and FreeTDS
  • Using PDO, mssql and FreeTDS
  • Using PDO, ODBC and Microsoft® ODBC Driver
  • Using the Microsoft® Driver
  • Using PDO and the Microsoft® Driver

Each item comes with a list of the requirements involved (other modules/extensions), examples of the configuration changes you'll need to make and some sample code to create the connection.

tagged: tutorial microsoft sql sqlserver database connection example testing

Link: http://blog.remirepo.net/post/2016/09/20/Microsoft-SQL-Server-from-PHP

Announcing SQL Server on Linux
Mar 08, 2016 @ 10:20:24

It's not specific to the world of PHP but there was a major announcement from Microsoft yesterday about one of their products, SQL Server, and how they're officially brining it to Linux.

Today I’m excited to announce our plans to bring SQL Server to Linux as well. This will enable SQL Server to deliver a consistent data platform across Windows Server and Linux, as well as on-premises and cloud. We are bringing the core relational database capabilities to preview today, and are targeting availability in mid-2017.

[...] Bringing SQL Server to Linux is another way we are making our products and new innovations more accessible to a broader set of users and meeting them where they are.

Currently the release is in a private preview stage but more information on the release and how you can get it to install on your systems will be released in the coming months. You can sign up for updates and get more information about the product on the project website on Microsoft.com.

tagged: sqlserver linux release announcement microsoft

Link: https://blogs.microsoft.com/blog/2016/03/07/announcing-sql-server-on-linux/

Brian Swan's Blog:
What SQL Server 2012 Means for PHP Developers
Mar 13, 2012 @ 11:46:47

Brian Swan (of Microsoft) has a new post to his blog talking about what SQL Server 2012 means for PHP developers - what the latest version of this MS database has to offer and how to get a basic install up and working in your environment.

Last week, Microsoft held a virtual conference to announce the availability of SQL Server 2012. The conference included a number of events (speakers, videos, training activities, etc.) that focused on the new functionality available in this release. Now that most of the fanfare has died down a bit, I’d like to take a look at what some of that new functionality means for PHP developers. Combined with the release of the Microsoft Driver for SQL Server for PHP, I think the SQL Server 2012 release makes some big improvements in developing PHP/SQL Server applications.

He includes instructions on getting the latest version set up with the SQL Server Express LocalDB (and command line tools). He mentions only a few of the new things this latest version has to offer - easier pagination with OFFSET/FETCH NEXT, client-side cursors and other things like "AlwaysOn Connectivity" and the PDO::ATTR_EMULATE_PREPARES constant.

tagged: sqlserver 2012 version install express localdb features


Ariz Jacinto's Blog:
Compiling PHP with MSSQL Server's Native ODBC Driver for Linux as a PDO Driver
Jan 10, 2012 @ 12:34:26

Ariz Jacinto has written up a new post with the commands you'll need to get PHP up and runnign with MSSQL Server's native ODBC driver working on linux (accessible through PDO).

Last month, MS announced the preview release of SQL Server ODBC Driver for Linux, a 64-bit binary driver for Red Hat Enterprise Linux 5. This is good news for companies using heterogenous platforms e.g. LAMP stack running a PHP application that connects to both MySQL and MSSQL Server. Meaning, these companies no longer have to use third-party drivers such as FreeTDS that MS doesn't support. Then a few days ago, MS released version 1 of the driver. I immediately downloaded the driver and recompiled PHP with it as a PDO (PHP Data Object) ODBC driver.

His process has five steps to it, including one for making a test script (code included) and another with a few gotchas/performance considerations to keep an eye out for when using the driver.

tagged: compile sqlserver native driver odbc pdo tutorial


Brian Swan's Blog:
The SQL Server ODBC Driver for Linux is Available!
Nov 29, 2011 @ 08:39:35

As Brian Swan has mentioned in his latest blog post, the ODBC database driver for SQL Server on Linux has been released. This is a huge step forward for directly connecting linux-based systems (and programming languages) to this popular Microsoft product.

The first beta release of the SQL Server ODBC Driver for Linux is available for download! As announced in October, the "Multiplatform Team" (a.k.a. the "MPlat Team") has released a preview version of a driver that will provide first-class access to SQL Server from applications running on Linux operating systems. The team is looking for feedback on this release to incorporate into their production-ready release, so try it out and let us know what you think.

He links to a few resources about the release - more details, a link to download the driver and the official documentation.

tagged: sqlserver odbc driver linux release microsoft database


Brian Swan's Blog:
Using SQL Azure to Store PHP Session Data
Oct 21, 2011 @ 08:32:46

In a recent post to his blog Brian Swan takes a look at working with sessions in PHP and, specifically, how to save them to Azure along with all of their data.

In my last post, I looked at the session handling functionality that is built into the Windows Azure SDK for PHP, which uses Azure Tables or Azure Blobs for storing session data. As I wrote that post, I wondered how easy it would be to use SQL Azure to store session data, especially since using a database to store session data is a common and familiar practice when building distributed PHP applications. As I found out, using SQL Azure to store session data was relatively easy (as I’ll show in this post), but I did run into a couple of small hurdles that might be worth taking note of.

He uses PHP's own session_set_save_handler to point to his custom Azure handling class with the needed methods (like write, close and destroy). He breaks it out into three simple steps, some with a bit of code attached:

  • Create the database, table, and stored procedure
  • Add the SqlAzureSessionHandler class to your project
  • Instantiate SqlAzureSessionHandler before calling session functions as you normally would

The code for the Azure handling class can be downloaded here.

tagged: sql azure session data cache sqlserver windows


Brian Swan's Blog:
Version 3.0 (beta) of the SQL Server Drivers for PHP Released!
Sep 29, 2011 @ 08:06:03

Brian Swan has a new post to his MSDN blog today about the release of the latest version (3.0 beta) of the SQL Server drivers for PHP. This new release includes three improvements - buffered queries, support for LocalDB and support for high availability/disaster recovery.

A Community Technology Preview (a beta release) of v3.0 of the SQL Server Drivers for PHP was released today (see the announcement on the team blog). You can download it here: Download v3.0 of the SQL Server Drivers for PHP. [...] It’s important to note that the latter two features are dependent on the next version of SQL Server (code named "Denali"). A preview of Denali can be downloaded for free here (see notes later in this article about the installation process): Download SQL Server Denali CTP 3.

He gives brief summaries (some with example code) of what these three new features have to offer those using SQL Server in their applications. The "buffered queries" allows you to bring your entire result set into memory, making it simpler to interact with as rows/columns. The LocalDB support gives developers a quick way to have a database without the hassle of a server - just connect right to the SQL Server database file. The high availability feature has been included for a while but has a new name in the upcoming release - SQL Server Always On.

tagged: sqlserver driver release beta buffered queries localdb highavailability


Brian Swan's Blog:
PHP Driver for SQL Server - Request for Feature Feedback
Jul 15, 2011 @ 10:22:49

Brian Swan is asking for user feedback about the future of the Microsoft's SQL Server driver for PHP based on a post in the team's blog.

I want to make sure that his request gets in front of lots of eyes, so I’m re-posting his request here (below). Jonathan included some links in his post so you can learn more about what the team is considering for the next release of the driver, but he didn’t elaborate on "Buffered Queries".

They suggest a few features and ask for choices on which would be the most important to you as a developer - Always On support, SQL Server Serverless Express support, Buffered queries and LOB streaming support in PDO_SQLSRV. To give feedback, send an email to the address mentioned in the post or on twitter/their forums.

tagged: sqlserver driver microsoft request feature feedback suggestion