Question

Dans cette question de superutilisateur On m'a informé qu'il est préférable d'exécuter des scripts écrits dans un langage interprété (php, python, etc.) en exécutant explicitement l'interpréteur et en fournissant le script comme argument, comme :

> php script.php

plutôt que d'ajouter une ligne au script pour dire au système d'exploitation de l'exécuter, comme :

#!/usr/bin/php
<?php
echo "hello world";
?>

Pourquoi est-ce vrai ?Mon intuition me dit que c'est plus sûr si le script est déplacé vers un système dans lequel l'exécutable de l'interpréteur se trouve à un chemin différent, mais est-ce la seule raison ?

Était-ce utile?

La solution

La portabilité est améliorée si vous utilisez cet idiome :

#!/usr/bin/env php

mais il a ses propres inconvénients ;voir une discussion plus longue sur http://sites.google.com/site/frankpzh/knowledge-library/shebang

Autres conseils

Différents chemins seraient la principale raison, en particulier lorsque les binaires commencent à être stockés dans des chemins notés x64 ou installés dans /usr/local/bin/php.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top