PHP OpenSSL extension not working while installing TYPO3 CMS 7.4.0

时间:2015-08-07 02:15:24

标签: php windows apache typo3 php-openssl

While installing TYPO3 CMS 7.4.0 I get the message:

PHP OpenSSL extension not working Something went wrong while trying to create a new private key for testing. Please check the integration of the PHP OpenSSL extension and if it is installed correctly.

Win 8.1 x64; PHP Version 5.6.12 VC11 x86 Thread Safe; Apache 2.4.16 VC11 Win32

I've read about similar issues and done everything recommended, but the problem is still here.

What I've done is:

  • uncommented in php.ini extension=php_openssl.dll
  • checked in phpinfo() that openssl is enabled: http://i.imgur.com/Et00jpY.png
  • added an environment variable "OPENSSL_CONF" with values: http://i.imgur.com/wf1yCYe.png
  • set path to 'openssl.exe':

    • set $TYPO3_CONF_VARS['SYS']['binSetup'] in
      ...\typo3\sysext\core\Configuration\DefaultConfiguration.php to 'openssl=C:\Apache24\bin\openssl.exe'
  • appended C:\Apache24\bin\ to the environment variable PATH

  • restarted apache/rebooted PC.

And nothing helped.

  1. What else would you recommend to check?
  2. How to execute the function openssl_pkey_new() using cmd and check if there's a problem with openssl?

EDIT:

  1. I've carefully read openssl.installation manual from official php site (sry, am not able to post more than 2 links due to lack of reputation here ^^) and nothing helped

  2. When I run this script: error_reporting(E_ALL);$test = openssl_pkey_new();echo $test;

I get a blank page in my browser (while 'display_errors = On' and 'display_startup_errors = On' in php.ini)

  1. Installed XAMPP.

In the shell on XAMPP control panel, openssl command gives

WARNING: can't open config file: C:/xampp/apache/bin/openssl.cnf OpenSSL>

While openssl.cnf is located in C:/xampp/apache/conf/openssl.cnf And in PHP Variables there's _SERVER["OPENSSL_CONF"] C:/xampp/apache/conf/openssl.cnf

In the CMD openssl command gives

C:\WINDOWS\system32>openssl WARNING: can't open config file: D:\tmp\openssl-1.0.1p\vc11\x86/openssl.cnf OpenSSL>

  1. Both libeay32.dll and ssleay32.dll are of version 1.0.1.16 and are the same in apache/bin and /php

  2. There's SetEnv OPENSSL_CONF "C:/xampp/apache/conf/openssl.cnf" in httpd-xampp.conf

1 个答案:

答案 0 :(得分:0)

  1. 请尝试此处提及的所有选项:http://php.net/manual/en/openssl.installation.php

  2. 您可以使用php -a打开php shell并运行上述命令。或者你可以自己写一个简约的php文件并从你的浏览器运行:

    <?php
    error_reporting(E_ALL);
    $test = openssl_pkey_new();
    echo $test;