O php exec / shell_exec / system / popen / proc_open roda chamando o próprio script inúmeras vezes no linux

Eu tenho um script que verifica se há erro de sintaxe no arquivo php usando php -l. Funciona bem no Windows, mas fornece saída incorreta no Linux:

O conteúdo do arquivo exec_ip.php que está sendo verificado quanto a erro de sintaxe é (possui erro de sintaxe que deve ser verificado):

<?php
$arr['12] = 'asd';
?>

e o script é:

$slash = file_get_contents('exec_ip.php');
//echo $slash;
$tmpfname = tempnam("tmp", "PHPFile");
file_put_contents($tmpfname, $slash);
exec("php -l ".$tmpfname,$error);

$errtext = '';      
foreach($error as $errline) $errtext.='<br>'.$errline;          
unlink($tmpfname);
echo 'ERR:'.$errtext;

RESULTADO NO WINDOWS (WAMP) {CORRETO}:

ERR:

Parse error: syntax error, unexpected T_STRING, expecting ']' in C:\WINDOWS\Temp\PHP1F1.tmp on line 2

Errors parsing C:\WINDOWS\Temp\PHP1F1.tmp

RESULTADO NO LINUX (Centos / cPanel) {SAÍDA DESCONHECIDA}:

ERR:
Content-type: text/html

ERR:
Content-type: text/html

ERR:
Content-type: text/html

ERR:
Content-type: text/html

ERR:
Content-type: text/html

ERR:
Content-type: text/html

ERR:
Content-type: text/html

ERR:
Content-type: text/html

ERR:
... too many same above lines

Por favor, alguém me ajude e me indique porque está dando saída incorreta no servidor de produção linux. Eu também tentei usar shell_exec, popen, proc_open, system no lugar de exec, mas tudo tem o mesmo comportamento. Estou tentando rastrear a causa raiz dos últimos 2 dias ... ajude

EDITAR: Às vezes, vejo o seguinte errorlog "PHP Warning: exec (): Não é possível bifurcar [php -l / tmp / PHPFileI4T43l] em /home/user/public_html/exect.php na linha 5". Eu acho que é o próprio comando recorrente recorrente, criando um novo processo em cada recursão, mas não foi possível obter a causa.

questionAnswers(1)

yourAnswerToTheQuestion