O mais provável é que o caminho para php
não esteja na variável de ambiente $PATH
usada para shell_exec
quando você o estiver executando a partir do servidor da Web.
Use o caminho completo para o comando php
, como
shell_exec (/usr/bin/php test.php)
Você pode usar o comando which
no prompt de comando para encontrar o caminho completo para php
which php