Savipedia

La libreria delle soluzioni
Una soluzione in ogni libro, un libro per ogni soluzione.

" Abilitare OpenSSL su PHP sotto Windows " Niki

Navigatore Chiudi
  1. Per poter far funzionare OpenSSL sotto PHP in Windows occorre abilitare l'estensione "openssl" nel php.ini scommentando la riga "php_openssl.dll" e accertandosi che la distrubuzione PHP che si usa sia compilata con ssl.


    Fatto questo si passa all'utilizzo, che potrebbe tirare calci se non trova qualcosa.


    Affinché funzioni è necessario che riesca a trovare il file "libeay32.dll" all'interno del PATH.


    Fatto questo usare il programma di testa nella prossima pagina.

  2. Questi annunci tengono il sito vivo e gratuito.
    Precedente
  3. Per procedere per favore attendi secondi. Grazie.
    Prossima Vai a pagina
  4. <?php
    $secureConnection = isset($_SERVER['HTTPS']);
    // Create the keypair
    $res=openssl_pkey_new();
    // Get private key
    openssl_pkey_export($res, $privatekey);
    // Get public key
    $publickey=openssl_pkey_get_details($res);
    $publickey=$publickey["key"];
    echo "Private Key:<BR>$privatekey<br><br>Public Key:<BR>$publickey<BR><BR>";

    $cleartext = '1234 5678 9012 3456';
    echo "Clear text:<br>$cleartext<BR><BR>";
    openssl_public_encrypt($cleartext, $crypttext, $publickey);
    echo "Crypt text:<br>$crypttext<BR><BR>";

    openssl_private_decrypt($crypttext, $decrypted, $privatekey);
    echo "Decrypted text:<BR>$decrypted<br><br>";
    ?>
  5. Se non funziona e restituisce un errore tipo:

    error:02001002:system library:fopen:No such file or directory

    oppure

    error:2006D080:BIO routines:BIO_new_file:no such file

    con ogni probabilità non riesce a trovare il file "openssl.cnf" che racchiude tutte le informazioni base dei criptaggi, tipo numero di bits delle chiavi, nomi, email ecc. per i certificati e così via.

    Di default si trova nella directory di installazione di PHP sotto la cartella "extras/openssl.cnf"

    Risorsa di Savipedia
  6. Per farglielo trovare è sufficiente indicarglielo con la variabile d'ambiente OPENSSL_CONF.

    Quindi impostare la variabile d'ambiente coi seguenti valori (per chi non la sa, questa è la procedura):

    Nome: OPENSSL_CONF
    Valore: C:\path\php\extras\openssl.cnf

    Risorsa di Savipedia

    E' importante ricordare che è sempre bene un riavvìo del PC per rendere effettiva questa variabile.

    Riprovare, l'errore dovrebbe essersene andato.
  7. error:0E06D06C:configuration file routines:NCONF_get_string:no value

    Nel caso si dovesse incorrere in questo errore alla chiamata di openssl_pkey_new() (riportato da "openssl_error_string()") stai sereno perché a quanto pare sembra essere un problema di PHP con OpenSSL.

    Qui c'è una discussione su StackOverflow che ne parla.
  8. Manca proprio il supporto per OpenSSL (come indicato nel phpinfo)

    Nel caso PHP ignori proprio il supporto per OpenSSL (quindi nel php info si vede proprio scritto "OpenSSL support: disabled"), nonostante l'estensione "php_openssl.dll" sia stata abilitata, allora è facile che non Apache non trovi le dll necessarie per abilitare SSL.

    Per risolvere è sufficiente fornire la path alle 4 dll nel file httpd.conf di Apache:

    Define PHPROOT "C:/Users/Niki/Libs/php-5.5.34-Win32-VC11-x64"
    LoadFile "${PHPROOT}/libeay32.dll"
    LoadFile "${PHPROOT}/ssleay32.dll"
    LoadFile "${PHPROOT}/php5ts.dll"
    LoadFile "${PHPROOT}/libpq.dll"
Il Savibook richiede jQuery. Scegli la versione più appropriata in base a se il tuo sito lo ha già installato.
Quindi copia il seguente testo all'interno del tuo sito per incorporare il libro "Abilitare OpenSSL su PHP sotto Windows".
Questo sito fa uso di cookies per migliorare la tua esperienza pubblicitaria nei libri, la quale ci permette di mantenere il servizio gratuito, e per analizzarne il traffico per potenziare nel tempo la sua navigazione.
Continuando ad utilizzare il sito affermi di comprenderne la funzione e di accettarne l'utilizzo.