Programming used to be fun. Thanks to PHP's support for Windows builds, you can run very efficient web sites on Windows and have a good time making them. This blog is a small collection of the additional things I've needed to help me build a few sites.
Friday, 7 September 2012
How to install Microsoft's SQL Server Driver for PHP
There are questions on Microsoft's SQL Server driver for PHP forum from people that cannot work out how to install the PHP driver.
PHP offers some help on choosing extensions here: http://php.net/manual/en/install.pecl.windows.php, and here: http://php.net/manual/en/install.windows.extensions.php.
It's still a bit complicated, so here are some explicit instructions which I hope can help new users of PHP. After a while all of this will become common sense.
Labels:
download,
extension,
php,
php 5.4,
php_sqlsrv,
SQL Server,
sqlsrv,
windows
Thursday, 12 July 2012
PHP_Wincache - Wincache for PHP 5.4
** Update May 2014 **
Don't use wincache on IIS 7+. I found that PHP on IIS runs faster without wincache, and when wincache is used it always causes php to seize up after a large number of requests and your server will stop responding. PHP 5.5 has a built in op-code cache extension, so it's probably not worth using wincache any more.
Microsoft's official release of Wincache 1.3 for PHP 5.4 and 5.5 is now available on the Wincache home page: http://www.iis.net/download/wincacheforphp
Links:
Don't use wincache on IIS 7+. I found that PHP on IIS runs faster without wincache, and when wincache is used it always causes php to seize up after a large number of requests and your server will stop responding. PHP 5.5 has a built in op-code cache extension, so it's probably not worth using wincache any more.
Microsoft's official release of Wincache 1.3 for PHP 5.4 and 5.5 is now available on the Wincache home page: http://www.iis.net/download/wincacheforphp
Links:
- Wincache official homepage from the fantastic IIS site, one of my favourites, well worth exploring.
- Microsoft's own pre-release builds for Wincache: http://sourceforge.net/projects/wincache/files/development/
Wednesday, 13 June 2012
FindProxyForURL - Parse a PAC (proxy auto config) file in PHP
Proxy servers are used in most companies as a gateway to the internet, that do other things like cache results and check web requests and responses. A PAC file is a Javascript file evaluated by web browsers to determine which proxy server to use for certain URL's. For example, some URL's can go straight to the internet, or a local server, and others must be sent to one of the proxy servers.
One day I needed to run this javascript from php on the web server, to find the proxy in the same way; then php could also follow the same proxy rules as desktop computers in my office.
Here's a working example of using the php_spidermonkey extension to run a proxy auto config script (javascript) in PHP.
One day I needed to run this javascript from php on the web server, to find the proxy in the same way; then php could also follow the same proxy rules as desktop computers in my office.
Here's a working example of using the php_spidermonkey extension to run a proxy auto config script (javascript) in PHP.
Javascript Return Statement
After 20+ years of programming I learnt something new today, while messing about with the php_spidermonkey extension.
If you place a carriage return after a 'return' statement in Javascript, and put some code on the line underneath, the function returns 'undefined', as if the statement was simply:
Here's an example of a function that returns 'undefined':
If you place a carriage return after a 'return' statement in Javascript, and put some code on the line underneath, the function returns 'undefined', as if the statement was simply:
return;
Here's an example of a function that returns 'undefined':
function whatelse() { var ok = false; return // function ends here ok ? 'OK (true)' : 'OK (false)'; // this line is never executed! }
Javascript in PHP on Windows with php_spidermonkey
Update 19 June 2014 - the latest builds of php_spidermonkey for Windows are contained in this zip: all_php_builds.zip. I reported a few days ago that the PHP 5.5 TS build did not work - as of 19 June 2014 it works. PHP 5.5 includes 64-bit versions in the x64 folder of the zip file.
I needed to evaluate a web browser's PAC (proxy auto config) file exactly the way a browser would, by executing the Javascript function FindProxyForURL (see here for a good guide). The browser uses its Javascript engine, so to simulate it, I wanted to run Javascript inside PHP (an example is here in another post).
Unofficial Microsoft SQL Server Driver for PHP (sqlsrv)
Here are unofficial modified builds of Microsoft's sqlsrv and pdo_sqlsrv drivers for PHP, version 3.0, for:
- PHP 5.6 for Windows Vista/2008 and above (32 and 64 bit)
- PHP 5.5 for Windows Vista/2008 and above (32 and 64 bit)
- PHP 5.3 and 5.4 for Windows XP/2003 and above (32 bit)
Microsoft's version 3.0 driver does not run on XP/2003 because it has a hard-coded dependency on the SQL Server 2012 Native Client (ODBC driver), which will not install on XP. To fix the problem I just had to allow the PHP driver to use an older version of the ODBC driver supported by XP.
Labels:
download,
extension,
php,
php_sqlsrv,
SQL Server,
sqlsrv,
windows
Subscribe to:
Posts (Atom)