Вы можете сделать это через proc_open .
$bin = 'path/to/mysql.exe';
$cmd = $bin . ' -ulocalonly';
$descriptors = array(
0 => array('pipe', 'r'),
1 => array('pipe', 'w'),
2 => array('pipe', 'r')
);
$process=proc_open($cmd, $descriptors, $pipes, dirname($bin));
if (is_resource($process)) {
// ....
}
Самое сложное - проанализировать выходные данные другого процесса (из $ pipe [0] и $ pipe [2]) и отреагировать на все возможные ситуации (включая обработку ошибок). Для этого вам может понадобиться расширение expect
pecl .