Just for my future, if not. This is because PHP 5.2.13 runs on Windows on IIS 8.
I got the following error:
PHP Warning: starting PHP: cannot load the dynamic library 'C: \ Program Files (x86) \ PHP \ ext \ php_openssl.dll' - the specified module was not found.
From phpinfo() downloaded php.ini file was C:\Program Files (x86)\PHP\php.ini .
Extension Catalog:
extension_dir ="C:\Program Files (x86)\PHP\ext"
These were the last two lines of the php.ini :
[PHP_SQLSRV] extension=php_sqlsrv_52_nts_vc6.dll [PHP_OPENSSL] extension=php_openssl.dll
The php_openssl.dll and php_sqlsrv_52_nts_vc6.dll are located in the ext directory. php_openssl.dll not corrupted (this is the same file size as one on another computer that is running).
PHP will find sqlsrv dll but not openssl dll. I do not know why. No amount of IIS restart did anything.
The solution, until I know better, is to install the openssl.dll extension using the Windows PHP installer. You can restart the installer and select "Change", and it allows you to add or remove libraries. I do not see any difference in the file or php.ini file, but now the file is loading.
I suspect my problem was similar to this comment about installing OpenSSL on Windows :
At this point, when you start Apache, it will try to load php_openssl.dll, but if your setting is similar to mine, you will see an error. I prefer to start Apache manually, and the error appears in the dialog box: "Ordinal 4114 cannot be located in the dynamic link library LIBEAY32.dll." (I'm not sure if you would get this message if you started using Apache as a service). The Apache log also contains an error message indicating that php_openssl.dll could not be loaded, although this message does not name libeay32.dll. Welcome to the DLL Hell.
Libeay32.dll is included in the image because php_openssl.dll (as well as ssleay32.dll) depends on it. I think Apache first tries to programmatically load php_openssl.dll from the path specified by the extension_dir key. But then loading the so-called dependent DLLs is left to the Windows engine by default. If Windows detects an incompatible version of the dependent DLL, you will receive an error message.
I noticed errors in ssleay32.dll when trying to run php -i from the command line. I just assumed that it was not in the environment. IIS did not mention any ssleay32.dll errors in its logs.