Aufgrund eines Fehlers in der Version 7.0.16 von PHP kann es zu der unerwarteten Meldung Could not gather sufficient random data kommen, wenn man random_bytes oder random_int nutzt. Das Problem tritt auf, wenn PHP auf einem aktuellen Kernel kompiliert wurde und anschließend auf einem älteren Kernel ausgeführt wird, welcher die Systemfunktion getrandom noch nicht unterstützt. Aktuelle Möglichkeiten dem Problem aus dem Weg zu gehen: Update auf PHP >= 7.1.0 Downgrade …
PHP: go-pear.phar does not have a signature
Schon mal versucht ein PEAR Paket unter Windows zu installieren? Die oben genannte Fehlermeldung kriege ich bei jeder neuen Installation, und da es mir zu blöd ist, jedes Mal wieder auf die Suche nach der Lösung gehen zu müssen, hier nun eine Gedächtnisstütze für mich (und vielleicht auch für euch). Öffnet mit einem Editor eurer Wahl die pear.bat bzw. die …
Javascript: Prüfen ob Variable definiert ist
Bei Javascript, wie auch in anderen Sprachen, weiß man mitunter nie, ob eine Variable definiert wurde. Um dies zu überprüfen, nutze ich meist folgenden Code Schnipsel.
1 2 3 4 |
if (typeof(VARIABLE) == "undefined") { alert("VARIABLE ist nicht gesetzt"); } |
Die Klammern bei typeof kann man weglassen. Ich persönlich habe es mir jedoch angewöhnt sie zu setzen, da hierdurch die Zusammengehörigkeit der Werte besser zu erkennen ist.
Lighttpd 1.4: HTTP 417 Expectation Failed
Versucht man mit einer cURL oder .NET Anwendung POST Daten an einen Lighttpd 1.4 Server zu senden, bekommt man die Meldung
1 |
HTTP/1.1 417 Expectation Failed |
Dies liegt daran, das die Programme einen Expect: 100-continue Header senden, und als Antwort 100 (Continue) oder 417 Expectation Failed erwarten. Lighty kennt den Header jedoch nicht, und antwortet deswegen mit dem besagten 417 Expectation Failed. Der Expect: …
MySQL: Thread stack overrun
Diese Fehlermeldung bekam ich beim Ausführen einer Stored Procedure, die lediglich zwei Einträge in die Tabellen einfügt.
1 |
SQL Error: Thread stack overrun: 8824 bytes used of a 131072 byte stack, and 128000 bytes needed. Use 'mysqld -O thread_stack=#' to specify a bigger stack. |
Schuld ist eine Voreinstellung bei Debian basierten Distributionen. In der /etc/mysql/my.cnf wird der Wert von thread_stack auf 128k festgelegt. Erhöht man diesen Wert auf 192k (MySQL Standard), funktionieren auch einfache Stored Procedures wieder.