Hi Du!
Ich möchte eine Warning Meldung bei meiner frischen Wordpress Installation beheben.
Problem tritt sowohl bei Wordpress 3.9.2 und 4.0-RC1 auf. Verwende Curl Version: 7.37.1, PHP 5.5.14, Safari 8, OS X 10.10
URL: http://wp.dev/wp-admin/update-core.php
Fehlermeldung:
Fehler wurde von mir eingegrenzt, gab einiges bei Google, insgesamt über 3 Stunden recherchiert und getestet...
Fehler entsteht durch Curl.
Die Wordpressisnstallation versucht eine Verbindung mit api.wordpress.org aufzubauen. Die URL wird resolved zur IP https://66.155.40.203 bzw. 66.155.40.203:443, das Gleiche in Grün.
CURL hat allerdings ein Problem damit, dass das SSL Zertifikat ein Wildcard Zertifikat für *.wordpress.org ist und somit der Hostname nicht passt (66.155.40.203).
Herausgefunden durch 'HTTPS Tester' Plugin von Wordpress sowie 'Core Control' (Davon Modul: External HTTP Access Logger)Plugin von Wordpress.
HTTPS Tester gibt mir:
Und der Core Tester gibt mir, beispielsweise dafür ein Request, das Folgende:
Es lässt sich also einschränken auf: SSL: certificate verification failed (result: 5)
Jetzt kommt der Fehler, soweit gegoogelt, vor wenn Curl das Zertifikat nicht akzeptiert.
Fehlerbehebung soll sein, CURL das Zertifikat bekannt zu machen via .pem Datei.
Folgendes habe ich versucht:
1.)
http://haxx.se/ca/cacert.pem
gedownloadet und bekannt gemacht via 'curl.cainfo =' in php.ini, kein Erfolg.
2.)
Manueller vorgegangen, via Safari geoeffnet: https://66.155.40.203
Safari meckert weil der Hostname nicht passt, laut einem anderen Googleeintrag soll man jetzt auf 'Trust All' klicken, damit es im 'Keychain Access' Programm vom Apple reinkommt. Denn angeblich überschreibt dieses Programm bei OS X die Curl Settings. Gesagt getan -> Kein Erfolg
3.) Manueller vorgegangen via Terminal, Zertifikat direkt von der Seite https://66.155.40.203 geladen und folgendes ueberprueft:
Jetzt habe ich noch das Zertifikat selbst überprüft via:
https://www.geocerts.com/ssl_checker
Eingetippt: 66.155.40.203 :443
Erhalte:
Wie ich es drehe und wende, scheint das Problem nur serverseitig seitens Wordpress behoben werden zu können!?
So viele Ergebnisse bei Google und keinen Erfolg... leicht demotivierend.
Hat jemand Erfahrung/einen Tipp?
Bin fuer alles was Erfolg verspricht dankbar
Update://
Habe noch ein Ticket eröffnet bei Wordpress.org selbst und es als potentiellen Fehler gemeldet, damit, falls es ausschließlich serverseitig lösbar ist, getan wird: https://meta.trac.wordpress.org/ticket/591
Update2://
Habe eine temporäre Lösung gefunden, die diese Updatechecks über PHP Streams anstatt über cURL abwickelt.
wp-config.php
Quelle: http://wordpress.stackexchange.com/q...pdate-requests
Das ist jedoch nur eine temporäre Lösung, um keine weiteren Fehler zu bekommen.
Gedanken dazu, Vorschläge zum Testen oder Ähnliches bitte unbedingt posten!
Ich möchte eine Warning Meldung bei meiner frischen Wordpress Installation beheben.
Problem tritt sowohl bei Wordpress 3.9.2 und 4.0-RC1 auf. Verwende Curl Version: 7.37.1, PHP 5.5.14, Safari 8, OS X 10.10
URL: http://wp.dev/wp-admin/update-core.php
Fehlermeldung:
Warning: An unexpected error occurred. Something may be wrong with WordPress.org or this server’s configuration. If you continue to have problems, please try the <a href="https://wordpress.org/support/">support forums</a>. (WordPress could not establish a secure connection to WordPress.org. Please contact your server administrator.) in /Library/WebServer/Documents/work/wp.dev/wp-admin/includes/plugin-install.php on line 77
Call Stack
# Time Memory Function Location
1 0.0019 428192 {main}( ) ../update-core.php:0
2 3.2465 21112792 list_plugin_updates( ) ../update-core.php:521
3 3.2498 21281256 plugins_api( ) ../update-core.php:243
4 3.7031 21290200 trigger_error ( ) ../plugin-install.php:77
Call Stack
# Time Memory Function Location
1 0.0019 428192 {main}( ) ../update-core.php:0
2 3.2465 21112792 list_plugin_updates( ) ../update-core.php:521
3 3.2498 21281256 plugins_api( ) ../update-core.php:243
4 3.7031 21290200 trigger_error ( ) ../plugin-install.php:77
Fehler entsteht durch Curl.
Die Wordpressisnstallation versucht eine Verbindung mit api.wordpress.org aufzubauen. Die URL wird resolved zur IP https://66.155.40.203 bzw. 66.155.40.203:443, das Gleiche in Grün.
CURL hat allerdings ein Problem damit, dass das SSL Zertifikat ein Wildcard Zertifikat für *.wordpress.org ist und somit der Hostname nicht passt (66.155.40.203).
Herausgefunden durch 'HTTPS Tester' Plugin von Wordpress sowie 'Core Control' (Davon Modul: External HTTP Access Logger)Plugin von Wordpress.
HTTPS Tester gibt mir:
[PASS]: Your WordPress install claims to support HTTPS Connections
[PASS]: Checking that the HTTPS Root Certificate bundle exists and is accessible
[PASS]: cURL is installed and supports SSL communication, cURL Details: version_number=468225; age=3; features=33469; ssl_version_number=0; version=7.37.1; host=x86_64-apple-darwin14.0; ssl_version=SecureTransport; libz_version=1.2.5; protocols=dict,file,ftp,ftps,gopher,http,https,ima p,imaps,ldap,ldaps,pop3,pop3s,rtsp,smtp,smtps,teln et,tftp
[PASS]: OpenSSL is installed. OpenSSL 0.9.8za 5 Jun 2014 9470383
[PASS]: Checking if stream_socket_client exists
[PASS]: Checking if openssl_x509_parse exists
[FAIL]: Verifying api.wordpress.org resolves correctly. 66.155.40.202
[PASS]: [Streams] Communication with WordPress.org suceeded, it took 0.871 seconds
[PASS]: [Streams with a POST body] Communication with WordPress.org suceeded, it took 0.874 seconds
[FAIL]: [cURL] Communication with WordPress.org failed with error: [http_request_failed]: SSL: certificate verification failed (result: 5)
[FAIL]: [cURL with a POST body] Communication with WordPress.org failed with error: [http_request_failed]: SSL: certificate verification failed (result: 5)
[INFO]: PHP Version: 5.5.14
[PASS]: Checking that the HTTPS Root Certificate bundle exists and is accessible
[PASS]: cURL is installed and supports SSL communication, cURL Details: version_number=468225; age=3; features=33469; ssl_version_number=0; version=7.37.1; host=x86_64-apple-darwin14.0; ssl_version=SecureTransport; libz_version=1.2.5; protocols=dict,file,ftp,ftps,gopher,http,https,ima p,imaps,ldap,ldaps,pop3,pop3s,rtsp,smtp,smtps,teln et,tftp
[PASS]: OpenSSL is installed. OpenSSL 0.9.8za 5 Jun 2014 9470383
[PASS]: Checking if stream_socket_client exists
[PASS]: Checking if openssl_x509_parse exists
[FAIL]: Verifying api.wordpress.org resolves correctly. 66.155.40.202
[PASS]: [Streams] Communication with WordPress.org suceeded, it took 0.871 seconds
[PASS]: [Streams with a POST body] Communication with WordPress.org suceeded, it took 0.874 seconds
[FAIL]: [cURL] Communication with WordPress.org failed with error: [http_request_failed]: SSL: certificate verification failed (result: 5)
[FAIL]: [cURL with a POST body] Communication with WordPress.org failed with error: [http_request_failed]: SSL: certificate verification failed (result: 5)
[INFO]: PHP Version: 5.5.14
URL https://api.wordpress.org/plugins/update-check/1.1/
Method POST
Result error
Error Details
http_request_failed SSL: certificate verification failed (result: 5)
Time Taken 0.43059110641479 seconds
HTTP Args
timeout (integer) 3
redirection (integer) 5
httpversion (string) 1.0
user-agent (string) WordPress/4.0-RC1; http://wp.dev
reject_unsafe_urls (boolean) false
blocking (boolean) true
headers
Array
(
)
cookies
Array
(
)
compress (boolean) false
decompress (boolean) true
sslverify (boolean) true
sslcertificates (string) /Library/WebServer/Documents/work/wp.dev/wp-includes/certificates/ca-bundle.crt
stream (boolean) false
filename NULL
limit_response_size NULL
HTTP POST body
Array
(
[plugins] => {"plugins":{"akismet\/akismet.php":{"Name":"Akismet","PluginURI":"http:\/\/akismet.com\/","Version":"3.0.1","Description":"Used by millions, Akismet is quite possibly the best way in the world to <strong>protect your blog from comment and trackback spam<\/strong>. It keeps your site protected from spam even while you sleep. To get started: 1) Click the \"Activate\" link to the left of this description, 2) <a href=\"http:\/\/akismet.com\/get\/\">Sign up for an Akismet API key<\/a>, and 3) Go to your Akismet configuration page, and save your API key.","Author":"Automattic","AuthorURI":"http:\/\/automattic.com\/wordpress-plugins\/","TextDomain":"akismet","DomainPath":"","Network" :false,"Title":"Akismet","AuthorName":"Automattic" },"core-control\/core-control.php":{"Name":"Core Control","PluginURI":"http:\/\/dd32.id.au\/wordpress-plugins\/core-control\/","Version":"1.1","Description":"Core Control is a set of plugin modules which can be used to control certain aspects of the WordPress control.","Author":"Dion Hulse","AuthorURI":"http:\/\/dd32.id.au\/","TextDomain":"","DomainPath":"","Network":false, "Title":"Core Control","AuthorName":"Dion Hulse"},"hello.php":{"Name":"Hello Dolly","PluginURI":"http:\/\/wordpress.org\/plugins\/hello-dolly\/","Version":"1.6","Description":"This is not just a plugin, it symbolizes the hope and enthusiasm of an entire generation summed up in two words sung most famously by Louis Armstrong: Hello, Dolly. When activated you will randomly see a lyric from <cite>Hello, Dolly<\/cite> in the upper right of your admin screen on every page.","Author":"Matt Mullenweg","AuthorURI":"http:\/\/ma.tt\/","TextDomain":"","DomainPath":"","Network":false, "Title":"Hello Dolly","AuthorName":"Matt Mullenweg"},"https-debugger\/https-debugger.php":{"Name":"HTTPS Debugger","PluginURI":"http:\/\/wordpress.org\/","Version":"1.1","Description":"Used to determine if there's anything wrong with the communication to WordPress.org over HTTPS. See Dashboard -> HTTPS Tester (If using multisite, visit Updates -> HTTPS Tester in the network admin.)","Author":"the WordPress team","AuthorURI":"http:\/\/wordpress.org\/","TextDomain":"","DomainPath":"","Network":true," Title":"HTTPS Debugger","AuthorName":"the WordPress team"}},"active":["core-control\/core-control.php","https-debugger\/https-debugger.php"]}
[translations] => []
[locale] => ["en_US"]
[all] => true
)
HTTP Transports WP_HTTP_curl
Request Time 2014-08-28 17:10:38 -0
Method POST
Result error
Error Details
http_request_failed SSL: certificate verification failed (result: 5)
Time Taken 0.43059110641479 seconds
HTTP Args
timeout (integer) 3
redirection (integer) 5
httpversion (string) 1.0
user-agent (string) WordPress/4.0-RC1; http://wp.dev
reject_unsafe_urls (boolean) false
blocking (boolean) true
headers
Array
(
)
cookies
Array
(
)
compress (boolean) false
decompress (boolean) true
sslverify (boolean) true
sslcertificates (string) /Library/WebServer/Documents/work/wp.dev/wp-includes/certificates/ca-bundle.crt
stream (boolean) false
filename NULL
limit_response_size NULL
HTTP POST body
Array
(
[plugins] => {"plugins":{"akismet\/akismet.php":{"Name":"Akismet","PluginURI":"http:\/\/akismet.com\/","Version":"3.0.1","Description":"Used by millions, Akismet is quite possibly the best way in the world to <strong>protect your blog from comment and trackback spam<\/strong>. It keeps your site protected from spam even while you sleep. To get started: 1) Click the \"Activate\" link to the left of this description, 2) <a href=\"http:\/\/akismet.com\/get\/\">Sign up for an Akismet API key<\/a>, and 3) Go to your Akismet configuration page, and save your API key.","Author":"Automattic","AuthorURI":"http:\/\/automattic.com\/wordpress-plugins\/","TextDomain":"akismet","DomainPath":"","Network" :false,"Title":"Akismet","AuthorName":"Automattic" },"core-control\/core-control.php":{"Name":"Core Control","PluginURI":"http:\/\/dd32.id.au\/wordpress-plugins\/core-control\/","Version":"1.1","Description":"Core Control is a set of plugin modules which can be used to control certain aspects of the WordPress control.","Author":"Dion Hulse","AuthorURI":"http:\/\/dd32.id.au\/","TextDomain":"","DomainPath":"","Network":false, "Title":"Core Control","AuthorName":"Dion Hulse"},"hello.php":{"Name":"Hello Dolly","PluginURI":"http:\/\/wordpress.org\/plugins\/hello-dolly\/","Version":"1.6","Description":"This is not just a plugin, it symbolizes the hope and enthusiasm of an entire generation summed up in two words sung most famously by Louis Armstrong: Hello, Dolly. When activated you will randomly see a lyric from <cite>Hello, Dolly<\/cite> in the upper right of your admin screen on every page.","Author":"Matt Mullenweg","AuthorURI":"http:\/\/ma.tt\/","TextDomain":"","DomainPath":"","Network":false, "Title":"Hello Dolly","AuthorName":"Matt Mullenweg"},"https-debugger\/https-debugger.php":{"Name":"HTTPS Debugger","PluginURI":"http:\/\/wordpress.org\/","Version":"1.1","Description":"Used to determine if there's anything wrong with the communication to WordPress.org over HTTPS. See Dashboard -> HTTPS Tester (If using multisite, visit Updates -> HTTPS Tester in the network admin.)","Author":"the WordPress team","AuthorURI":"http:\/\/wordpress.org\/","TextDomain":"","DomainPath":"","Network":true," Title":"HTTPS Debugger","AuthorName":"the WordPress team"}},"active":["core-control\/core-control.php","https-debugger\/https-debugger.php"]}
[translations] => []
[locale] => ["en_US"]
[all] => true
)
HTTP Transports WP_HTTP_curl
Request Time 2014-08-28 17:10:38 -0
Jetzt kommt der Fehler, soweit gegoogelt, vor wenn Curl das Zertifikat nicht akzeptiert.
Fehlerbehebung soll sein, CURL das Zertifikat bekannt zu machen via .pem Datei.
Folgendes habe ich versucht:
1.)
http://haxx.se/ca/cacert.pem
gedownloadet und bekannt gemacht via 'curl.cainfo =' in php.ini, kein Erfolg.
2.)
Manueller vorgegangen, via Safari geoeffnet: https://66.155.40.203
Safari meckert weil der Hostname nicht passt, laut einem anderen Googleeintrag soll man jetzt auf 'Trust All' klicken, damit es im 'Keychain Access' Programm vom Apple reinkommt. Denn angeblich überschreibt dieses Programm bei OS X die Curl Settings. Gesagt getan -> Kein Erfolg
3.) Manueller vorgegangen via Terminal, Zertifikat direkt von der Seite https://66.155.40.203 geladen und folgendes ueberprueft:
Code:
Usernames-MacBook-Air:apache2 username$ curl --cacert /Users/username/Desktop/\*.wordpress.org.cer https://66.155.40.203 curl: (51) SSL: certificate verification failed (result: 5)
https://www.geocerts.com/ssl_checker
Eingetippt: 66.155.40.203 :443
Erhalte:
Certificate Common Name (CN) and Hostname does not match?
The hostname (66.155.40.203) does NOT match the Common Name in the certificate (*.wordpress.org). This certificate is currently invalid for this host.
The hostname (66.155.40.203) does NOT match the Common Name in the certificate (*.wordpress.org). This certificate is currently invalid for this host.
So viele Ergebnisse bei Google und keinen Erfolg... leicht demotivierend.
Hat jemand Erfahrung/einen Tipp?
Bin fuer alles was Erfolg verspricht dankbar

Update://
Habe noch ein Ticket eröffnet bei Wordpress.org selbst und es als potentiellen Fehler gemeldet, damit, falls es ausschließlich serverseitig lösbar ist, getan wird: https://meta.trac.wordpress.org/ticket/591
Update2://
Habe eine temporäre Lösung gefunden, die diese Updatechecks über PHP Streams anstatt über cURL abwickelt.
wp-config.php
....
add_filter( 'http_api_transports', function()
{
return array( 'streams' );
});
add_filter( 'http_api_transports', function()
{
return array( 'streams' );
});
Das ist jedoch nur eine temporäre Lösung, um keine weiteren Fehler zu bekommen.
Gedanken dazu, Vorschläge zum Testen oder Ähnliches bitte unbedingt posten!