php - 无法通过PHP shell_exec在Apache下运行go二进制文件

标签 php go shell-exec

我遇到问题,不知道发生了什么。我基本上是使用此PHP脚本尝试运行go二进制文件:

<?php

shell_exec('/go/bin/x -arg -arg etc');
如果我通过命令行运行此PHP文件,则可以使用。如果我直接在浏览器中运行它(在www下),它将无法正常工作。没有任何错误。
cli作为root运行,而Apache作为www-data运行。我已将0777的权限设置为/go/bin/x,并且还将所有者/组更改为www-data。依然没有。
什么会导致这种行为?
还要注意shell_exec可以工作,但是到目前为止我只运行了其他php文件。

最佳答案

我不知道我以前是怎么想的...问题是输入args中的1个包含文本文件的位置,而apache无权读取该文件。错误在/var/log/apache2/error.log中

关于php - 无法通过PHP shell_exec在Apache下运行go二进制文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62872949/

相关文章:

php - 使用 PHP 将 SQL 查询行添加到新数组

php - linux 命令运行带参数的 php 文件函数

php - 无法连接 : Access denied for user shout1@localhost (using password:YES) 'Error PHP/MySQL

php - regex_match 的表单验证规则

go - 函数结束后,golang没有释放变量

google-app-engine - 如何在 Google App Engine 中为 Go 应用程序设置应用程序范围设置?

go - 过度节俭或痛饮问题

php - 无法将远程 Openfiles.exe 数据拉入 PHP

php - echo exec 工作但不执行

php - 表单上的空白字段将考虑预先存在的值