Pergunta

No este superusuário pergunta Eu estava avisado que é melhor para executar scripts escritos em uma interpretted linguagem (php, python, etc) explicitamente executar o interpretter e fornecer o script como um argumento, como:

> php script.php

em vez de adicionar uma linha para o script para dizer ao sistema operacional para executar, como:

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

Por que isto é verdade?Minha intuição me diz que é mais seguro, no caso, o script é movido para um sistema em que o intérprete está localizado executável em um caminho diferente, mas é essa a única razão?

Foi útil?

Solução

A portabilidade é melhor se você usar esta expressão:

#!/usr/bin/env php

mas tem desvantagens do seu próprio;ver uma discussão mais no http://sites.google.com/site/frankpzh/knowledge-library/shebang

Outras dicas

Diferentes caminhos seria a razão principal, especialmente quando binários começar a ficar armazenado em 64 x denotado caminhos ou instalado em /usr/local/bin/php.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top