我编写了一个c program
控制并行端口的程序……还编写了一个.cgi
文件,该文件依次执行上述c
程序,打开连接到并行端口的 LED。
当我通过授予执行权限来执行文件时,这个程序工作正常.cgi
。但是当我尝试通过本地主机(LAMP 服务器)执行相同操作时,文件.cgi
被调用,但它c
应该调用的程序没有被执行。
尝试访问硬件时,Web 服务器似乎存在一些权限问题。
答案1
尝试在可执行文件为 的目录中运行如下 Python CGI 服务器python -m CGIHTTPServer
,并通过 HTTP 调用它。如果成功,请尝试将用户切换到用户www-data
( sudo su www-data -
) 并重试。如果失败,Python 将在控制台中显示错误。
您可以尝试检查您的普通用户属于哪些组,以及该www-data
用户属于哪些用户。最有可能的是,www-data
需要将用户添加到dialout
和/或plugdev
。