{"id":296,"date":"2011-03-29T20:25:58","date_gmt":"2011-03-29T19:25:58","guid":{"rendered":"http:\/\/www.muratyaman.co.uk\/wp\/?p=296"},"modified":"2020-04-01T11:56:41","modified_gmt":"2020-04-01T10:56:41","slug":"to-upgrade-or-not-to-upgrade-xampp-1-7-3","status":"publish","type":"post","link":"https:\/\/www.muratyaman.co.uk\/blog\/index.php\/2011\/03\/to-upgrade-or-not-to-upgrade-xampp-1-7-3\/","title":{"rendered":"To upgrade or not to upgrade XAMPP 1.7.3"},"content":{"rendered":"<p><a href=\"http:\/\/www.apachefriends.org\/en\/xampp.html\">XAMPP<\/a> is just another package of:<\/p>\n<p><a href=\"http:\/\/httpd.apache.org\/\">Apache HTTP Server<\/a>,<br \/>\nMySQL,<br \/>\n<a href=\"http:\/\/www.php.net\">PHP<\/a> + PEAR + Zend Framework, phpMyAdmin,<br \/>\nPerl,<br \/>\nFileZilla FTP Server,<br \/>\nMercury Mail Server,<br \/>\nOpenSSL,<br \/>\nWebalizer,<br \/>\netc.<\/p>\n<p>like <a href=\"http:\/\/www.wampserver.com\/en\/\">WAMP<\/a>, <a href=\"http:\/\/www.easyphp.org\/\">EasyPHP<\/a> (the first of its kind I&#8217;ve known), and others:<\/p>\n<p><a href=\"http:\/\/en.wikipedia.org\/wiki\/Comparison_of_WAMPs\">http:\/\/en.wikipedia.org\/wiki\/Comparison_of_WAMPs<\/a><\/p>\n<p>XAMPP 1.7.3 includes:<br \/>\n &#8212; Apache 2.2.14 (released in October 2009) and PHP 5.3.1 (released in November 2009)<\/p>\n<p>XAMPP 1.7.4 includes:<br \/>\n &#8212; Apache 2.2.17 (released in October 2010) and PHP 5.3.5 (released in January 2011) <\/p>\n<p>(&#8230;because my main concern is Apache and PHP)<\/p>\n<p>Naturally, from time to time, we have to plan upgrading the web application environment. It is imperative to upgrade almost every year, if not every 6 months.<\/p>\n<p>Our application is connected to Microsoft SQL Server 2005; so, we&#8217;ve been using php_mssql.dll and php_pdo_mssql.dll to enable us to use PDO.<\/p>\n<p>Guess what? XAMPP 1.7.4 did not come with PHP libraries for SQL Server!<\/p>\n<p>Immediate reactions:<\/p>\n<p>+ reverting back to XAMPP 1.7.3<br \/>\n+ or manual installation of the <strong>latest<\/strong> Apache and PHP (PHP 5.3.6 is already released)<\/p>\n<p>PHP 5.3.6 does not come with libraries for SQL Server either! I found out that mighty Microsoft decided to give better support for PHP by providing better libraries for &#8220;the&#8221; SQL Server:<\/p>\n<p><a href=\"http:\/\/msdn.microsoft.com\/en-us\/sqlserver\/ff657782.aspx\">http:\/\/msdn.microsoft.com\/en-us\/sqlserver\/ff657782.aspx<\/a><\/p>\n<p>You have to install native client libraries and download DLLs for PHP, such as thread-safe and compiled using VC9:<\/p>\n<p>php_sqlsrv_53_ts_vc9.dll<br \/>\nphp_pdo_sqlsrv_53_ts_vc9.dll<\/p>\n<p>This lead to another critical issue: although we used PDO for SQL Server, our code got broken when we tried to use these new libraries. We understood that Microsoft <strong>finished<\/strong> implementing their PDO library without backward compatibility!<\/p>\n<p>Here are some examples of features\/functions that caused us headache:<\/p>\n<p>PDO::beginTransaction<br \/>\nPDO::commit<br \/>\nPDO::rollBack<\/p>\n<p>Since these were not available in the previous version of pdo_mssql, we had to use SQL commands:<\/p>\n<p>BEGIN TRANSACTION;<br \/>\nCOMMIT;<br \/>\nROLLBACK;<\/p>\n<p>Also, we had issues with PDO::query which included SQL commands that executed stored procedures in the database.<\/p>\n<p>In short, we could <strong>not<\/strong> take the risk of discovering more broken pieces of code!<\/p>\n<p>We have swiftly re-installed XAMPP 1.7.3!<\/p>\n<p>What&#8217;s going to happen next?!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>XAMPP is just another package of&#8230;<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[11],"tags":[39,98,192,56,57,62,26,40],"class_list":["post-296","post","type-post","status-publish","format-standard","hentry","category-technology","tag-apache","tag-email","tag-ftp","tag-ms-sql-server","tag-mysql","tag-pdo","tag-php","tag-xampp"],"_links":{"self":[{"href":"https:\/\/www.muratyaman.co.uk\/blog\/index.php\/wp-json\/wp\/v2\/posts\/296","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.muratyaman.co.uk\/blog\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.muratyaman.co.uk\/blog\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.muratyaman.co.uk\/blog\/index.php\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.muratyaman.co.uk\/blog\/index.php\/wp-json\/wp\/v2\/comments?post=296"}],"version-history":[{"count":4,"href":"https:\/\/www.muratyaman.co.uk\/blog\/index.php\/wp-json\/wp\/v2\/posts\/296\/revisions"}],"predecessor-version":[{"id":896,"href":"https:\/\/www.muratyaman.co.uk\/blog\/index.php\/wp-json\/wp\/v2\/posts\/296\/revisions\/896"}],"wp:attachment":[{"href":"https:\/\/www.muratyaman.co.uk\/blog\/index.php\/wp-json\/wp\/v2\/media?parent=296"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.muratyaman.co.uk\/blog\/index.php\/wp-json\/wp\/v2\/categories?post=296"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.muratyaman.co.uk\/blog\/index.php\/wp-json\/wp\/v2\/tags?post=296"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}