Спасибо всем!
Остановился на 1 способе что предложил
Evengard
получилось как то так:
<?php
$fp = fopen("php://stdin", "r");
$in = '';
$core = Core::getInstance();
while($in != "exit") {
echo "php> ";
$in=trim(fgets($fp));
$str = explode(' ', $in);
$_SERVER['argv'] = array();
foreach ($str as $s) {
$_SERVER['argv'][] = trim($s);
}
echo "\n";
$_SERVER['argc'] = count( $_SERVER['argv']);
$core->run();
}
?>
Пока что подводные камни только в неудобстве ввода. А так ничего в общем. Может я не вижу чего то не очевидного, было бы неплохо узнать.