在bash脚本中运行php:错误“无法打开输入文件”

时间:2016-09-22 22:01:54

标签: php bash

我制作了一个简单的脚本:

Hitos.allow({
        insert: function(userId, doc){
            //you are allowed to insert Hitos if userid exist
            return !!userId;

        }
});

当我像这样以root身份运行它时:

#!/bin/bash
php /var/www/mysite/script1.php
php /var/www/mysite/script2.php

我收到以下错误:

bash update.sh

有什么问题?我在我的php文件和所有文件夹上尝试使用权限777来访问它。当我在命令行中直接使用php /var/www/mysite/script1.php时,它可以正常工作。

1 个答案:

答案 0 :(得分:5)

当批处理文件通过某些符合Windows的编辑器或其他意外时,可能会发生回车符附加到行尾(就在换行之前)

所以所有的行例如这一行:

php /var/www/mysite/script1.php

包含一个不可见的\r字符,它被解释为参数py php =&gt;的一部分。找不到档案/var/www/mysite/script1.php<invisible char>

执行以下操作:

dos2unix update.sh > newbatchfile.sh

tr -d "\015" < update.sh > newbatchfile.sh

(比较文件大小,如果newbatchfile较小,问题是CR字符并且是固定的)