How to emulate register_globals directive and session_register()/session_unregister() functions

Recently I needed to migrate legacy PHP application from PHP 5.2 to at least PHP 5.6. It is 50K+ lines application that heavily relies on enabled register_globals directive and session_register()/session_unregister() functions. This functionality has been deprecated as of PHP 5.3.0 and removed as of PHP 5.4.0. I will demonstrate how to emulate register_globals directive and session_register()/session_unregister() functions in PHP 5.6 or later.

Read More

PHP 5 / WordPress on Windows

Before going live with WordPress I have decided to try it out on my laptop. It was a time to upgrade my PHP installation as well. I downloaded and installed the most recent version of PHP 5 using ZIP archive and configured Apache accordingly. However the following message appeared when I tried to install WordPress:

Your PHP installation appears to be missing the MySQL extension which is required by WordPress.

It turned out PHP 5 was not configured to use MySQL by default. This is what I have changed in php.ini compared to php.ini-recommended.

extension_dir = "c:/php5/ext/"
...
extension=php_mysql.dll
extension=php_mysqli.dll
...
session.save_path = "c:/windows/temp/"

Unfortunately it did not help. I was still getting the same error. It was a time to finally read the PHP installation manual.

And then the mystery was uncovered. In order for PHP to access MySQL database, file libmysql.dll from PHP distribution “needs to be available to the Windows systems PATH”. I copied the file to C:\WINDOWS\system32 folder and it worked!