quindi sto cercando di ottenere openssl che funziona sull'installazione di Windows di xampp (1.7.3) che è stato creato con OpenSSL 0.9.8l. Questa è solo la seconda volta che installo openssl su un'installazione * amp, ma la prima volta è andato a gonfie vele (era un'installazione di un wamp sulla stessa macchina, ma ho scoperto che xampp era più il mio stile, quindi sono passato).xampp openssl errori quando si chiama openssl_pkey_new();
quando ho tentato un semplice script di installazione:
var_dump(getenv('OPENSSL_CONF'));
$privateKey = openssl_pkey_new();
while($message = openssl_error_string()){
echo $message.'<br />'.PHP_EOL;
}
ho ottenuto un messaggio restituito:
error:02001003:system library:fopen:No such process
error:2006D080:BIO routines:BIO_new_file:no such file
error:0E064002:configuration file routines:CONF_load:system lib
ho letto la pagina di php.net che mi ha informato circa la possibilità di dover impostare la le costanti di ambiente openssl.cnf e ssleay.dll, l'ho provato ma non è cambiato nulla.
Un var_dump
di OPENSSL_CONF
portato nel percorso: C:/xampp/apache/bin/openssl.cnf
che è corretto per la mia macchina.
Ho controllato che il percorso della directory php (dove si trovano ssleay32.dll e libeay32.dll) è stato definito nel mio sistema di percorsi var, e non lo era, quindi l'ho definito, riavviato la mia macchina e nel processo riavviato apache, ma nessuna modifica nei messaggi di errore.
la mia versione di xampp non è stata fornita con php_openssl.dll e, come tale, credo che il documento php.ini dovrebbe escluderlo dall'elenco di file .dll disponibili come è stato fatto quando ho controllato. Credo che xampp provenga invece con un'estensione basata su zend.
Sono in grado di avviare openssl dalla xampp gui e ho creato con successo una coppia di chiavi privata/pubblica.
phpinfo() relazioni:
supporto OpenSSL OpenSSL abilitati
OpenSSL Biblioteca Versione OpenSSL
0.9.8l 5 Nov 2009 OpenSSL Header versione OpenSSL 0.9.8l 5 nov 2009
lì era un vecchio ssleay.dll e libeay32.dll dall'installazione di wamp presumo nella mia directory di sistema ma li ho cancellati da allora. (riavviato dopo, e riavviato apache)
Ho provato a copiare openssl.cnf nella directory predefinita'C: \ usr \ local \ ssl \ openssl.cnf 'nessuna modifica.
Ho letto anche il thread this e il thread this ma le risposte fornite erano pertinenti ma non riuscivano ad aiutare o erano inesistenti.
Qualcuno ha qualche idea su cosa dovrei controllare in seguito o qualcosa di ovvio che mi sia sfuggito?
la sua interessante '' OPENSSL_CONF' è C:/xampp/apache/bin/openssl. cnf', che è ben configurato. L'unico piccolo inconveniente è che Windows usa le barre indietro, non le barre in avanti. – jww