ProcessStartInfo et Linux : comment exécuter un script PHP ?
Bonjour,
Je galère avec un programme que j'ai initialement écrit sous Windows et que je souhaite finalement faire tourner sous Linux.
Tout est ok, sauf un dernier point.
Mon programme appelle un script PHP (pas un site distant, je parle bien d'un fichier PHP) car il contient une librairie de plusieurs milliers de lignes que j'ai pas envie de m'amuser à porter en C#...
Initialement, j'avais fait ça :
- ajout du fichier php à mon projet avec un output sans compilation
- ajout de php.exe et phop.dll à mon projet avec un output sans compilation
Et appel de tout ce petit monde avec ce code :
Code:
1 2 3 4 5 6 7
|
ProcessStartInfo psi = new("php.exe", $"encrypt.php {key}")
{
CreateNoWindow = true,
UseShellExecute = false
};
Process.Start(psi).WaitForExit(); |
Nickel, ça fonctionne parfaitement sous Windows.
Sauf que là, php.exe c'est la version Windows évidement.
Donc sur mon Linux j'ai installé php :
Code:
1 2
|
sudo apt-get install -y php-cli |
Et je peux exécuter un script php comme ceci :
Et là, c'est le drame...
Je ne trouve pas la syntaxe pour lancer tout ça depuis mon programme...
J'ai essayé :
Code:
1 2 3 4
|
ProcessStartInfo psi = new("php", $"encrypt.php {key}") {...}
ProcessStartInfo psi = new($"php encrypt.php {key}") {...}
ProcessStartInfo psi = new("php.exe", $"encrypt.php {key}") {...} |
Mais rien n'y fait :(
Une idée ?
Pourtant, ça marche :
Code:
1 2
|
ProcessStartInfo psi = new("echo", "Hello world") {...} |