Scripts interpretados: implícito vs ejecución explícita
-
16-09-2020 - |
Pregunta
en Esta pregunta de superusuario me informaron que es mejor ejecutarScripts escritos en un lenguaje interpretado (PHP, Python, etc.) ejecutando explícitamente el Interpretter y proporcionando el script como argumento, como:
> php script.php
en lugar de agregar una línea al script para decirle al sistema operativo que lo ejecute, como:
#!/usr/bin/php
<?php
echo "hello world";
?>
¿Por qué es esto verdad?Mi intuición me dice que es más seguro, en caso de que el script se mueva a un sistema en el que el ejecutable del intérprete se encuentra en un camino diferente, pero es que la única razón?
Solución
La portabilidad se mejora si usa este idioma:
#!/usr/bin/env php
pero tiene inconvenientes propios;Vea una discusión más larga en http://sites.google.com/site/frankpzh/ Conocimiento-Biblioteca / Shebang
Otros consejos
Los diferentes rutas serían la razón principal, especialmente cuando los binarios comienzan a almacenarse en las rutas de X64 Dodoted o instaladas en / usr / local / bin / php.