If a page is already cached, the output of this requested URL is static HTML and PHP can't be executed. That's why hardcoded URL in purge header works and PHP generated URL doesn't.
To get what you want to, setup a simple PHP page that purges requested URI by AJAX request (jQuery)
PHP:
<?php
$purgeUrl = $_GET['ReqUri'];
header('X-LiteSpeed-Purge:' . $purgeUrl);