How to make widget title accept php?

You can use the filter widget_title and a “virtual” shortcode. Of course, as One Trick Pony points out, the “why” (and the “what”) is essential to find a proper solution…

Supposing the widget title was Title [php] More Title:

add_filter( 'widget_title', 'pseudo_php_wpse_90360', 10, 3 );

function pseudo_php_wpse_90360( $title, $instance, $id_base )
{
    if( FALSE === strpos( $title, '[php]' ) )
        return $title;

    $break_it = explode( '[php]', $title );

    $title = $break_it[0] . 'hello world' . $break_it[1];

    return $title;
}

The output is Title hello world More Title.