Grazie mille.
Ne aprofitto per aggiungere qualche info che magari può aiutare a capire dove cercare il problema (se veramente c'è ne è uno).
Io utilizzo il servizio wiki di DokuWiki.org anche in locale utilizzando Xampp ed avevo lo stesso problema di connettività che ho, tutt'ora, qui su Altervista.
In particolare, questo è il mio scenario:
XAMPP per Linux 64bit che include:
- PHP 5.6.3
- MySQL 5.6.21
- phpMyAdmin 4.2.11
- OpenSSL 1.0.1j
Pacchetti Linux già installati:
- libcurl3 7.35.0-1ubuntu2.3
- libssl1.0.0 1.0.1f-1ubuntu2.8
- php5-curl 5.5.9+dfsg-1ubuntu4.6
- php5-cli 5.5.9+dfsg-1ubuntu4.6
- openssl 1.0.1f-1ubuntu2.8
- ssl-cert 1.0.33
Come riportato qui:
http://php.net/manual/de/migration56...tificate-paths
ho eseguito un file .php con questo codice:
Codice:
<?php
var_dump(openssl_get_cert_locations());
?>
Ottenendo il seguente output:
Codice:
array(8) {
["default_cert_file"]=> string(33) "/opt/lampp/share/openssl/cert.pem"
["default_cert_file_env"]=> string(13) "SSL_CERT_FILE"
["default_cert_dir"]=> string(30) "/opt/lampp/share/openssl/certs"
["default_cert_dir_env"]=> string(12) "SSL_CERT_DIR"
["default_private_dir"]=> string(32) "/opt/lampp/share/openssl/private"
["default_default_cert_area"]=> string(24) "/opt/lampp/share/openssl"
["ini_cafile"]=> string(0) ""
["ini_capath"]=> string(14) ""
}
Ma:
- in /opt/lampp/share/openssl non c'è alcun file chiamato cert.pem
- in /opt/lampp/share/openssl/certs c'è solo un file vuoi chiamato NOTEMPTY
- in /opt/lampp/share/openssl/private c'è solo un file vuoi chiamato NOTEMPTY
Quindi PHP stava cercando dei certificati nel posto sbagliato. Questo era il problema!
Di seguito quello che ho fatto per risolvere il problema.
Da:
http://curl.haxx.se/docs/caextract.html
ho scaricato il file:
cacert.pem
Per capire dove installarlo ho usato il comando da terminale:
Codice:
openssl version -d
che nel mio caso ha restituito:
il quale è un link simbolico a:
Quindi ho messo
cacert.pem in
/etc/ssl/certs.
Quindi, in
/opt/lampp/etc/php.ini ho aggiunto le seguenti due righe (vedi
http://docs.php.net/manual/en/contex...ext.ssl.cafile):
Codice:
openssl.cafile=/etc/ssl/certs/cacert.pem
openssl.capath=/etc/ssl/certs
Ho salvato il file e riavviato Apche.
Ora riesco a collegarmi ai vari repository dove si trovano i vari plugins senza alcun impedimento.
Anche se quanto ho appena descritto è relativo PHP 5.6, mentre la versione di PHP che ho qui su Altervista è la 5.4, penso che controllare dove vengano cercati i certificati, quantomeno, tolga qualche dubbio.