Forums

[Plugin: WP-Syntax] Ugly errors in PHP 5.3 (1 post)

  1. KevBurnsJr
    Member
    Posted 4 months ago #

    WP-Syntax v0.9.3

    PHP syntax highlighting throws some really deep errors if you give it a complex piece of code in a PHP 5.3 environment.

    I updated my dev environment to PHP 5.3 and started browsing around, but my blog's homepage would not display. I could use the wp-admin interface just fine, but the blog's homepage would begin rendering and then Firefox would flick to a blank "Connection Interrupted" error screen.

    The Apache error log reads only :

    [Mon Jul 06 20:05:35 2009] [notice] Parent: child process exited with status 3221225477 -- Restarting.

    Turns out this error message is extremely obtuse. After mucking with my environment as much as possible, I decided to jump into the WordPress code to see if I could track down the error.

    The offending markup was a single blog post containing a commented-out piece of escaped JSON from an exemplary GitHub webhook payload.

    This code crashes Apache:

    <pre lang="php" ><?php
    // $sample_payload_a = "{\"after\": \"0e2a75ac4434d110c3a1f03d53dda93f73bfcda9\", \"ref\": \"refs\/heads\/master\", \"commits\": [{\"added\": [], \"removed\": [], \"url\": \"http:\/\/github.com\/weareus\/core\/commit\/0e2a75ac4434d110c3a1f03d53dda93f73bfcda9\", \"modified\": [\"app\/views\/content\/_table.tpl.php\", \"app\/views\/question\/_table.tpl.php\"], \"timestamp\": \"2009-03-19T19:52:51-07:00\", \"message\": \"# Removing inaccurate table summaries\", \"author\": {\"name\": \"KevBurnsJr\", \"email\": \"kevburnsjr@gmail.com\"}, \"id\": \"0e2a75ac4434d110c3a1f03c53dda93f73bfcda9\"}], \"repository\": {\"owner\": {\"name\": \"weareus\", \"email\": \"info@weare.us\"}, \"description\": \"\", \"name\": \"core\", \"private\": true, \"forks\": 0, \"url\": \"http:\/\/github.com\/weareus\/core\", \"fork\": false, \"watchers\": 4, \"homepage\": \"http:\/\/weare.us\"}, \"before\": \"cd2fe2ef3c6f6aac4cabf34d6201635ada6d8033\"}";
    // $sample_payload_b = "{\"after\": \"0e2a75ac4434d110c3a1f03c53dda93f73bfcda9\", \"ref\": \"refs\/heads\/master\", \"commits\": [{\"added\": [], \"removed\": [], \"url\": \"http:\/\/github.com\/weareus\/core\/commit\/0e2a75ac4434d110c3a1f03c53dda93f73bfcda9\", \"modified\": [\"app\/views\/content\/_table.tpl.php\", \"app\/views\/question\/_table.tpl.php\"], \"timestamp\": \"2009-03-19T19:52:51-07:00\", \"message\": \"Removing inaccurate table summaries\", \"author\": {\"name\": \"KevBurnsJr\", \"email\": \"kevburnsjr@gmail.com\"}, \"id\": \"0e2a75ac4434d110c3a1f03c53dda93f73bfcda9\"}], \"repository\": {\"owner\": {\"name\": \"weareus\", \"email\": \"info@weare.us\"}, \"description\": \"\", \"name\": \"core\", \"private\": true, \"forks\": 0, \"url\": \"http:\/\/github.com\/weareus\/core\", \"fork\": false, \"watchers\": 4, \"homepage\": \"http:\/\/weare.us\"}, \"before\": \"cd2fe2ef3c6f6aac4cabf34d6201635ada6d8033\"}";
        die('no data');
    ?></pre>

    This code works fine :

    <pre lang="php" ><?php
        die('no data');
    ?></pre>

    My fix for now is just to remove the offending piece of code from the post.

    Windows XP SP3
    PHP 5.3
    Apache 2.2.x
    MySQL 5.1

    This is a rather obscure error, but I figured it might at least be helpful to document it here as a known issue.

Reply

You must log in to post.

About this Topic

Tags