Comment ajouter shebang #! avec php script sous linux?

j'ai un petit problème avec l'ajout de shebang #! avec mon script php sur RedHat linux. J'ai un petit morceau de code de test avec shebang ajouté (j'ai essayé différentes variations aussi), mais je reçois le message d'erreur suivant chaque fois que j'essaie d'exécuter le script.

Erreur msg:

-bash: script.php: command not found

script de Test:

#!/bin/env php    
<?php echo "test"; ?>

Shebang #! variations:

#!/usr/bin/php
#!/usr/bin/env php
17
demandé sur user2799603 2014-02-12 19:10:48

2 réponses

Il devrait (pour la plupart des systèmes)#!/usr/bin/env php, mais votre erreur n'est pas lié à cela.

-bash: script.php: command not found

Il est dit que script.php n'est pas trouvé.

si le problème était la ligne shebang alors l'erreur dirait quelque chose comme:

bash: script.php: /usr/env: bad interpreter: No such file or directory

vraisemblablement, vous tapez script.php et le fichier n'est pas dans un répertoire sur votre $PATH ou n'est pas exécutable.

  1. le Rendre exécutable: chmod +x script.php.
  2. tapez le chemin d'accès au lieu du nom du fichier, s'il est dans le répertoire courant alors: ./script.php.

au lieu de 2, Vous pouvez déplacer/copier/symlink le fichier vers un endroit indiqué dans $PATH ou modifier $PATH pour inclure le répertoire contenant le script.

29
répondu Quentin 2017-11-27 10:08:41

Si le script n'est pas situé dans votre /usr/local/bin et est exécutable, vous devez préfixe d'appel de votre script php comme ceci:

php myscrip.php

Pour shebangs, voici ce que j'utilise:

Comme ceci:

#!/usr/bin/php

ou:

#!/usr/bin/env php
12
répondu Banago 2014-02-12 15:13:01