从浏览器而非 CLI 调用时 PHP exec 失败

标签 php git webhooks

我有一个简单的 PHP 脚本:

exec('git pull origin master', $shell_output, $output);
print_r($shell_output);
print_r($output)

当我通过 CLI php git.php 调用它时,它工作正常。我得到了预期的输出,返回值为 0。当我通过网络浏览器访问该页面时,它失败了,返回值为 1。

我已将文件权限设置为 777,并确保 php.ini 不会阻止 exec() 函数。

最佳答案

CLI 使用当前登录用户(您)的凭据运行,它很可能与 Web 服务器进程使用的不同。执行 exec('whoami') 等来验证。

关于从浏览器而非 CLI 调用时 PHP exec 失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13097550/

相关文章:

php - PDO、准备好的语句和 SQL 注入(inject)

Git 专门列出一个分支的 stash

webhooks - Integromat - 保存以前参加的人员并将新人员添加到列表中

git - 为什么 "git log -‌- foo"对删除的文件 foo 不起作用?

github - 本地主机 IP 地址 :8080 -in webhooks of github +jenkins

webhooks - 使用 Asana API 通过 WebHook 创建新任务

php - 如何使用 PHP 转换规范化数据集?

php - fatal error : Call to undefined function mcrypt_encrypt()

php - 如何在 PHPMailer for Exchange Online 中实现 Oauth 2.0

git - 以根为基础并保留空提交