{"id":6369,"date":"2016-03-17T13:00:12","date_gmt":"2016-03-17T12:00:12","guid":{"rendered":"http:\/\/blog.starocotes.de\/?p=6369"},"modified":"2016-03-17T09:00:04","modified_gmt":"2016-03-17T08:00:04","slug":"so-stirb-doch-endlich","status":"publish","type":"post","link":"https:\/\/blog.starocotes.de\/index.php\/2016\/03\/17\/so-stirb-doch-endlich\/","title":{"rendered":"So stirb doch endlich!"},"content":{"rendered":"<p>Ich k\u00e4mpfe nun schon seit l\u00e4ngerem mit einem Speicherzugriffsfehler (Segmentation fault) in einem PHP script das mehrmals st\u00fcndlich l\u00e4uft. Das Script hat die Aufgabe Bilder aus einen Verzeichnis abzuholen, per Imagemagic ein Thumbnail zu erstellen und beides zusammen in ein anderes Verzeichnis abzulegen.<br \/>\nDer Fehler trat nicht immer, aber dennoch h\u00e4ufig auf und da ich per Mail \u00fcber alle Fehler auf dem Server informiert werden wollte bekam ich entsprechend viele Mails. <\/p>\n<p>Das ganze l\u00e4uft auf einem Centos 5.11 mit PHP 5.1.6. Viele Versuche haben nicht wirklich eine Erkenntnis gebracht bis ich endlich heute herausgefunden habe wie ich den Fehler beheben kann. Dazu habe ich zun\u00e4chst \u00fcber xdebug genauer analysiert in welcher Zeile der Fehler auftritt. Selbst das war problematisch, da ich zun\u00e4chst raus finden musste welche Version xdebug ich brauchte. Letztendlich haben diese Befehle die Installation erfolgreich abgeschlossen:<\/p>\n<p><code>yum install php-devel<br \/>\nyum install php-pear<br \/>\nyum install gcc gcc-c++ autoconf automake<br \/>\npecl install xdebug-2.1.0<\/code><\/p>\n<p>Dann den Apache neu gestartet weil die Installation von xdebug den durcheinander gebracht hatte und ich konnte mein Script testen.<\/p>\n<p><code>php -d xdebug.auto_trace=ON -d xdebug.trace_output_dir=\/var\/log\/xdebug\/ meinscript<\/code><\/p>\n<p>Dadurch fiel mir auf das der Speicherzugriffsfehler beim Beenden des Scripts auftrat. Egal wo ich ein exit einbaute, genau dann kam der Fehler. Wenn ich \u00fcberhaupt kein exit eingebaut habe kam der Fehler am Ende des Scripts.<\/p>\n<p>Letztendlich hat eine recht einfache L\u00f6sung das Problem behoben: Ein die() am Ende des Scripts.<\/p>\n<p>Wenn hier jemand mir erkl\u00e4ren kann warum dem so ist immer her damit, f\u00fcr mich ist erstmal wichtig das der Fehler nicht mehr kommt.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Ich k\u00e4mpfe nun schon seit l\u00e4ngerem mit einem Speicherzugriffsfehler (Segmentation fault) in einem PHP script das mehrmals st\u00fcndlich l\u00e4uft. Das Script hat die Aufgabe Bilder aus einen Verzeichnis abzuholen, per Imagemagic ein Thumbnail zu erstellen und beides zusammen in ein anderes Verzeichnis abzulegen. Der Fehler trat nicht immer, aber dennoch h\u00e4ufig auf und da ich <a class=\"more-link\" href=\"https:\/\/blog.starocotes.de\/index.php\/2016\/03\/17\/so-stirb-doch-endlich\/\">weiterlesen&#8230;<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"aside","meta":{"footnotes":""},"categories":[8],"tags":[1130,1129,1131,1132],"class_list":["post-6369","post","type-post","status-publish","format-aside","hentry","category-it","tag-die","tag-php","tag-segmentation-fault","tag-speicherzugriffsfehler","post_format-post-format-aside"],"jetpack_featured_media_url":"","_links":{"self":[{"href":"https:\/\/blog.starocotes.de\/index.php\/wp-json\/wp\/v2\/posts\/6369","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.starocotes.de\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.starocotes.de\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.starocotes.de\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.starocotes.de\/index.php\/wp-json\/wp\/v2\/comments?post=6369"}],"version-history":[{"count":1,"href":"https:\/\/blog.starocotes.de\/index.php\/wp-json\/wp\/v2\/posts\/6369\/revisions"}],"predecessor-version":[{"id":6370,"href":"https:\/\/blog.starocotes.de\/index.php\/wp-json\/wp\/v2\/posts\/6369\/revisions\/6370"}],"wp:attachment":[{"href":"https:\/\/blog.starocotes.de\/index.php\/wp-json\/wp\/v2\/media?parent=6369"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.starocotes.de\/index.php\/wp-json\/wp\/v2\/categories?post=6369"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.starocotes.de\/index.php\/wp-json\/wp\/v2\/tags?post=6369"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}