【发布时间】:2016-08-03 16:03:14
【问题描述】:
我正在尝试使用 ansible 在远程服务器上运行 php 脚本。 使用 ansible 用户(ansible 用于登录服务器)运行脚本可以完美运行。但是,当我的 php 脚本中有 include 语句时,ansible 任务会失败。
我的 php 脚本位于
/srv/project
它试图包含
包含/someLibrary.php以具有正确访问权限的任何用户身份运行脚本但通过 ansible 任务运行脚本时,一切正常 - 名称:运行脚本 外壳:'php /srv/project/script.php'
它失败了:
打开流失败:/srv/project/includes/someLibrary.php 中没有这样的文件或目录
不过,运行一个非常基本的 php 脚本效果很好。
【问题讨论】:
-
文件是否存在于
/srv/project/includes/someLibrary.php中? -
是的。手动执行脚本时也能正常工作。
-
文件的文件权限是什么?
-
rwxrwx--- 用于 www-data 用户和组。 ansible 用户是 www-data 组的成员。
-
你剪掉了太多细节。在我看来,文件 someLibrary.php 似乎已包含在内,并且该文件 inside 存在一些 I/O 错误 - 错误应该说明类似
failed to open stream: No such file or directory in /srv/project/includes/someLibrary.php on line 31的内容 - 检查那行代码。跨度>