web-dev-qa-db-fra.com

PHP L'extension OpenSSL ne fonctionne pas pendant l'installation de Typo3 6.2.2 sur window7

J'ai installé Typo3 6.2.2 sur window7 mais j'ai un message d'erreur comme ci-dessous:

PHP OpenSSL extension not workingSomething 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.

J'essaie de trouver la solution sur Internet à propos de cette erreur mais je ne peux pas résoudre ce bug.

Quelqu'un sait, pouvez-vous m'aider à trouver la solution s'il vous plaît? Merci.

13
user3471037

Solution qui a fonctionné pour moi sur XAMPP et Windows Vista:

  • Activez le module PHP openssl} [

    Ouvrez php.ini et décommentez (supprimez ';') dans: 

    ;extension=php_openssl.dll

    Vérifiez que l'extension est activée en exécutant phpinfo ().

  • Ajoute une variable d'environnement système "OPENSSL_CONF" avec une valeur 

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

    ... en supposant que vous avez installé xampp dans C:\xampp. 

  • Définissez le chemin d'accès à 'openssl.exe', qui se trouve dans C:\xampp\Apache\bin

    • Définissez $TYPO3_CONF_VARS['SYS']['binSetup'] dans ...\htdocs\typo3_src-6.2.x\typo3\sysext\core\Configuration\DefaultConfiguration.php sur 'openssl=c:/xampp/Apache/bin/openssl.exe'

    • ou ajoutez c:\xampp\Apache\bin à la variable d'environnement PATH (fonctionnera pour chaque script PHP et pas seulement TYPO3)

  • Redémarrez xampp

Liens/sources:

27
Alan

Pour activer OpenSSL sur PHP sous Windows, vous devez suivre trois étapes:

  1. activer l'extension - assurez-vous de ne pas commenter cette ligne dans php.ini:

    extension=php_openssl.dll

  2. Ajoutez le dossier PHP à la variable d’environnement PATH de Windows:

    Panneau de configuration -> Système -> Paramètres système avancés -> Variables d'environnement.
    Localisez la variable Path dans le bloc Variables système.
    Ajoutez le c:\php; devant, ou quel que soit votre chemin PHP.

  3. Créez une variable d’environnement OPENSSL_CONF supplémentaire pour Windows contenant le chemin complet du fichier de configuration OpenSSL de PHP:

    Panneau de configuration -> Système -> Paramètres système avancés -> Variables d'environnement.
    Dans le bloc Variables système, cliquez sur Nouveau ...
    Nom de la variable: OPENSSL_CONF
    Valeur de la variable: C:\php\extras\ssl\openssl.cnf
    Modifiez cette valeur pour qu'elle corresponde à votre répertoire d'installation PHP!

Redémarrez Windows pour que les modifications de l'environnement puissent prendre effet.

Des détails sur le support PHP OpenSSL sous Windows sont disponibles ici .

7
Jpsy

Sur typo3 6.2.7 sur win7 XAMPP 1.8.3 

L'erreur openSSL consistait à créer le dossier C:\openssl-1.0.1i-win32\ssl et à y placer E:\Portables\xampp\Apache\conf\openssl.cnf . J'ai eu une directive à ce sujet d'un site Web allemand.

Comment je l’ai découvert (juste au cas où les versions changent), dans le panneau de commande Shell sur XAMPP, la commande openssl donne

ATTENTION: impossible d'ouvrir le fichier de configuration: E: /Portables/xampp/Apache/bin/openssl.cnf.

Mais l'ajout du fichier n'y aide pas. J'ai ajouté et supprimé le fichier.

Ajoutez ;E:\Portables\xampp\Apache\bin à la variable d’environnement PATH (Propriétés système -> Avancé). Exécutez la commande openssl sur une fenêtre CMD (pas XMPP Shell), le message:

AVERTISSEMENT: impossible d'ouvrir le fichier de configuration: c: /openssl-1.0.1i-win32/ssl/openssl.cnf

Ajoutez le fichier ici, l'ajout à la variable d'environnement PATH peut être supprimé maintenant.

L'ajout de OPENSSL_CONF n'a également pas fonctionné pour moi.

3
user3733912

La solution suivante peut uniquement fonctionner en démarrant manuellement le serveur Apache en cliquant sur Apache_start.bat dans Xampp. Les autres cas d'utilisation et packages de serveur ne sont ni testés ni couverts.


Gestion de plusieurs versions de xampp et peut-être de plusieurs frameworks supplémentaires J'ai recherché l'approche qui convient le mieux aux exigences suivantes: 

  • Un framework n'a jamais besoin de connaître la configuration ni le chemin d'accès au fichier openssl de l'exécutable (sous Windows: openssl.exe).
  • Peu importe le serveur démarré, le bon chemin d'accès à openssl est toujours trouvé, correspondant à la version du serveur. Cela évite les problèmes qui pourraient faire que openssl soit compilé avec une autre version que PHP ou Apache-Server.
  • Il n'est jamais nécessaire d'ajouter des variables non flexibles et statiques à la variable PATH . Au lieu de cela, elles ne seront ajoutées que tant qu'un serveur est en cours d'exécution.
  • Arrêter une version de serveur et démarrer une autre version de serveur, c'est basculer sans autre action sur le chemin correct de openssl.exe et openssl.cnf.

En fonction de ces exigences de développeur, les étapes que je décris sont un peu différentes des réponses en cours sur cette page:

  1. Activez openssl dans le fichier php.ini- de chaque version de serveur (xampp-1, xampp-2, etc.) en supprimant le point-virgule de la ligne suivante: ;extension=php_openssl.dll

  2. Ouvrez le fichier Apache_start.bat de chaque version de serveur et remplacez la ligne 

    Apache\bin\httpd.exe 

    par l'extrait suivant:
    SET OPENSSL_CONF=C:\xampp-x\Apache\conf\openssl.cnfIF EXIST C:\xampp-x\Apache\bin SET PATH=%PATH%;C:\xampp-x\Apache\binApache\bin\httpd.exe

    Faites attention que partout vous remplacez C:\xampp-x\ par le chemin réel vers le serveur correspondant.

  3. Redémarrez xampp par Apache_start.bat ou par le panneau de configuration xampp.

Naturellement, cette solution fonctionne aussi avec un seul serveur et avec l'avantage d'avoir un nombre limité de variables PATH définies par le système.

UPDATE Si vous rencontrez toujours des problèmes liés à TYPO3, quelle que soit la méthode que vous avez choisie, vérifiez le cookie_domain dans l'outil d'installation. Il doit s’appliquer au domaine actuel ou être vide . Un cookie-domain incorrect peut se produire si vous copiez un projet depuis un autre serveur, c’est-à-dire pour le développement.

0
David

Définissez une variable d'environnement global OPENSSL_CONF sur% ProgramFiles (x86)%\PHP\Current\extras\openssl.cnf

0
John Clark