web-dev-qa-db-ja.com

PHP Typo3 6.2.2をwindow7にインストールしているときにOpenSSL拡張機能が機能しない

Typo3 6.2.2をwindow7にインストールしましたが、次のようなエラーメッセージが表示されました。

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.

このエラーについてインターネットで解決策を見つけようとしますが、このバグを解決できません。

誰でも知っています、私が解決策を見つけるのを手伝ってくれませんか?ありがとう。

15
user3471037

XAMPPおよびWindows Vistaで私のために働いたソリューション:

  • PHP module opensslを有効にします

    Php.iniを開き、次の場所でコメントを解除(削除 ';')します。

    ;extension=php_openssl.dll

    Phpinfo()を実行して、拡張機能が有効になっていることを再確認します。

  • 値でシステム環境変数「OPENSSL_CONF」を追加します

    C:\xampp\Apache\conf\openssl.cnf

    ... xamppをC:\ xamppにインストールしたと仮定します。

  • C:\ xampp\Apache\binにある 'openssl.exe'へのパスを設定します

    • $TYPO3_CONF_VARS['SYS']['binSetup']...\htdocs\typo3_src-6.2.x\typo3\sysext\core\Configuration\DefaultConfiguration.php'openssl=c:/xampp/Apache/bin/openssl.exe'に設定する

    • またはc:\xampp\Apache\binを環境変数PATHに追加します(PHPスクリプトはTYPO3だけでなくすべてのスクリプトで機能します)

  • xamppを再起動します

リンク/ソース:

31
Alan

WindowsでPHPでOpenSSLを有効にするには、3つの手順を実行する必要があります。

  1. 拡張機能を有効にします– php.iniでこの行のコメントを外してください:

    extension=php_openssl.dll

  2. PHPフォルダーをWindowsのPATH環境変数に追加します。

    コントロールパネル–>システム–>システムの詳細設定–>環境変数。
    システム変数ブロックでパス変数を見つけます。
    先頭に追加c:\php;その前、またはPHPパスが何であれ、.

  3. PHPのOpenSSL構成ファイルの完全パスを含むWindows用の追加のOPENSSL_CONF環境変数を作成します。

    コントロールパネル–>システム–>システムの詳細設定–>環境変数。
    システム変数ブロックで、[新規...]をクリックします。
    変数名:OPENSSL_CONF
    変数値:C:\php\extras\ssl\openssl.cnf
    PHPインストールディレクトリに一致するようにその値を変更してください!

Windowsを再起動して、環境の変更を有効にします。

PHP WindowsでのOpenSSLサポートの詳細は here にあります。

7
Jpsy

Typo3では6.2.7、win7ではXAMPP 1.8.3

OpenSSLエラーの解決策は、C:\ openssl-1.0.1i-win32\sslフォルダーを作成してE:\ Portables\xampp\Apache\conf\openssl.cnfフォルダーを配置することでした。その中に。ドイツのウェブサイトからそれについての指示をもらいました。

XAMPPコントロールパネルのシェルで、opensslコマンドがそれを見つけた方法(バージョンが変更された場合に備えて)

警告:構成ファイルを開けません:E:/Portables/xampp/Apache/bin/openssl.cnf。

しかし、そこにファイルを追加しても役に立ちません。ファイルを追加して削除しました。

;E:\Portables\xampp\Apache\binをPATH環境変数に追加します(システムプロパティ->詳細)。コマンドopensslをCMDウィンドウ(XMPPシェルではない)で実行すると、次のメッセージが表示されます。

警告:設定ファイルを開けません:c:/openssl-1.0.1i-win32/ssl/openssl.cnf

そこにファイルを追加すると、環境変数PATHへの追加を削除できます。

OPENSSL_CONFを追加してもうまくいきませんでした。

3
user3733912

グローバル環境変数OPENSSL_CONFを%ProgramFiles(x86)%\ PHP\Current\extras\openssl.cnfに設定します

1
John Clark

次のソリューションは、Xampp内のApache_start.batをクリックしてApache-Serverを手動で起動することによってのみ機能する可能性があります。他のユースケースとサーバーパッケージはテストまたはカバーされていません。


xamppのいくつかのバージョンとおそらく追加のいくつかのフレームワークに対処する次の要件に最適なアプローチを探しました。

  • フレームワークは、設定や実行可能なopensslファイルへのパスを知る必要はありません(Windowsの場合:openssl.exe)。
  • どのサーバーが起動しているかは関係ありません。opensslへの正しいパスは常に見つかり、サーバーのバージョンに適合します。これにより、opensslがPHPまたはApache-Server以外のバージョンでコンパイルされる可能性があるという問題が回避されます。
  • 変数をPATH-Variableに柔軟で静的に追加する必要はありません。代わりに、サーバーが実行されている間のみ追加されます。
  • あるサーバーバージョンを停止して別のサーバーバージョンを起動すると、openssl.exeopenssl.cnfの正しいパスへのアクションなしで切り替わります。

これらの開発者の要件に基づいて、私が説明する手順は、このページで実行されている回答とは少し異なります。

  1. 次の行の先頭のセミコロンを削除して、各サーバーバージョン(つまり、xampp-1、xampp-2など)のphp.iniファイルでopensslを有効にします。;extension=php_openssl.dll

  2. 各サーバーバージョンのファイルApache_start.batを開き、行を置き換えます

    Apache\bin\httpd.exe

    次のスニペットで:
    SET OPENSSL_CONF=C:\xampp-x\Apache\conf\openssl.cnf IF EXIST C:\xampp-x\Apache\bin SET PATH=%PATH%;C:\xampp-x\Apache\bin Apache\bin\httpd.exe

    どこにでもC:\xampp-x\を対応するサーバーへの実際のパスに置き換えます。

  3. Apache_start.batまたはxampp-control-panelのいずれかでxamppを再起動します。

このソリューションは当然1つのサーバーだけでも機能し、システム全体で定義されたPATH変数が制限されているという利点があります。

[〜#〜] update [〜#〜]選択した方法に関係なく、TYPO3に関連する問題がまだある場合は、installtoolのcookie_domainを確認してください。現在のドメインに適用されるか、空である必要があります。 wrong cookie-domainは、プロジェクトを別のサーバーから、つまり開発用にコピーした場合に発生する可能性があります。

0
David