【问题标题】:Debian - /usr/bin/env: 'php\r': No such file or directoryDebian - /usr/bin/env: 'php\r': 没有这样的文件或目录
【发布时间】:2018-04-12 10:33:27
【问题描述】:

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

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

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

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

请注意:

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

【问题讨论】:

    标签: php docker yii2 debian


    【解决方案1】:

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

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

    tr -d '\15' < original_file > converted_file
    

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

    【讨论】:

    • 谢谢。这解决了。有没有更简单的方法来重写每个文件?
    • 你应该谷歌。工具有很多,但取决于您的系统、偏好等。如果您使用 git(或其他代码存储库),它们可以为您翻译文件(双向,因此您不会弄乱其他系统)。 FTP 和类似的也应该能够在复制时转换文件。 Linux有各种工具可以将文件转换成树,我只是不记得了,你需要安装相关的包。一些编辑器具有转换文件的选项(例如,在进行“上传”时)。谷歌会提供帮助
    • 有效,但请确保 original_file != convert_file
    猜你喜欢
    • 1970-01-01
    • 2016-02-20
    • 1970-01-01
    • 2019-09-08
    • 2020-05-26
    • 2011-04-08
    • 2013-03-11
    • 2019-12-11
    • 2013-02-27
    相关资源
    最近更新 更多