Comment obtenir le chemin d'accès de l'exécutable php sur le serveur où il est situé
Je suis en utilisant le exec
de commande comme ci-dessous en PHP :
exec("/usr/bin/php /path/to/Notification.php >> /path/to/log_file.log 2>&1 &");
Dans mon environnement local (MAMP), je sais que le PHP chemin d'installation, afin que je puisse remplacer /usr/bin/php
avec /Applications/MAMP/bin/php/php5.4.10/bin/php
. Mais je ne sais pas où l'installation de PHP (PHP) est situé sur le serveur de production.
Vous devez vous connecter pour publier un commentaire.
Il est généralement
/usr/bin/php
mais vous pouvez essayer de capturer et d'analyser les données en sortie de la commande 'whereis php
"ou"which php'
'.Ou mieux encore, utiliser la constante
PHP_BINARY
si elle est disponible. Jetez un oeil ici.whereis php
sur le serveur, puis d'analyser les données en sortie avec une regex pour obtenir le chemin d'accès.PHP_BINARY
dans votre script PHP.PHP_BINDIR . "/php"
.PHP_BINARY
constante est une chaîne vide....La plupart du temps, le
PHP_BINARY
constante prédéfinie devrait faire le travail.Si vous avez besoin de quelque chose de plus élaboré, vous pouvez faire usage de Symfony Composant de processus, à l'aide de son PhpExecutableFinder classe: