Debian - /usr/bin/env: 'php\r': 没有那个文件或目录

Sha*_*haf 4 php debian docker yii2

所以直接解决问题,当我运行时,./yii似乎我从 Debian:stretch 得到了我从 Docker 运行的错误。

但是,当我运行时,/usr/bin/env php -v我得到了正确的输出并且没有问题。

似乎将新行翻译为字符串时出现问题,我不知道如何解决。

对不起,如果我的英语有点乱,提前致谢。

请注意:

  • 我一直在尝试nano在 debian 中使用编辑该文件,但它没用。我遇到了同样的错误。
  • 我已经检查的PHP文件中/usr/bin/php,它的存在既phpphp7.1
  • 我也可以php -v毫无问题地运行

Gia*_*zzi 6

您应该使用 UNIX 换行约定转换文件。

你有一个 DOS 文件,它在\r之前有一个额外的字符\n,它被解释为命令中的一个字符。所以系统会检查程序php\r而不是php,所以它失败了。

tr -d '\15' < original_file > converted_file
Run Code Online (Sandbox Code Playgroud)

应该做的工作(StackOverflow 有许多其他方法和技巧)