gpt4 book ai didi

php - 使用 ansible 运行 php 脚本会抛出错误

转载 作者:行者123 更新时间:2023-12-02 00:52:21 25 4
gpt4 key购买 nike

我正在尝试使用 ansible 在远程服务器上运行 php 脚本。使用 ansible 用户(ansible 用于登录服务器)运行脚本效果很好。然而,当我的 php 脚本中包含 include 语句时,ansible 任务失败。

我的 php 脚本位于

/srv/project

它试图包括

includes/someLibrary.php
当以具有正确访问权限的任何用户身份运行脚本时一切正常,但当通过可靠任务运行脚本时

- name: run script  shell: 'php /srv/project/script.php'

它失败了:

failed to open stream: No such file or directory in /srv/project/includes/someLibrary.php

虽然运行一个非常基本的 php 脚本效果很好。

最佳答案

我刚刚找到了问题的解决方案。问题是当我手动执行脚本时,我连接到服务器并 cd 进入 /srv/project调用前的目录 php script.php PHP include在这种情况下,在当前目录中查找我想要包含的文件。当 ansible 连接到服务器时,它没有更改目录,因此产生了 no such file or directory。错误。解决这个问题的方法很简单,因为 shell 模块需要一个 chdir。作为参数将目录更改为运行命令之前指定的目录。

我的 ansible 任务现在看起来如下:

- name: run script  shell: 'php /srv/project/script.php'  args:    chdir: '/srv/project'

感谢大家的帮助!

关于php - 使用 ansible 运行 php 脚本会抛出错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38725350/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com