Não é fácil. Se você escreveu um script wrapper que executou esse comando, esse comando ainda aparecerá em ps
.
Se você soubesse PHP suficiente, poderia abrir o install.php
, procurar onde ele lida com esses flags e codificar os valores por si mesmo (certificando-se que o script tem 700 perms para que ninguém mais possa lê-lo), então você pode executar o comando sem precisar das bandeiras.
Supondo que o script deles não tente adivinhar como ele está sendo executado e reagir de forma inadequada, você pode fazer algo assim:
<?php
unset($argv);
$argv=array("install.php",
"--db_host","dbhost",
"--db_name","dbname",
...
"--and_so_on","value"
);
include("install.php");
?>
como um novo script (modo 700 novamente) e execute php newinstall.php
. $argv
é normalmente a matriz de argumentos de comando (começando com o nome do comando), então aqui vocêunset()
o existente e criar um novo com todas as opções de linha de comando necessárias, então você include()
install.php para fazer o PHP executar aquele script (com a lista $ argv adulterada para fazer o install.php pensar que ele foi executado com essas opções).