php - 从 PHP 中执行我的程序?

标签 php linux

这个让我走了。我一直在尝试启动一个我在 PHP 中(在 Raspbian 系统服务器上)编写的程序。我尝试了执行系统命令的常用函数,如 system()、exec()、shell_exec()。这些可以毫无问题地用于“date”或“ls”等系统命令。 'php.ini' 不会阻止这些(很明显,因为它们与某些命令一起使用)。没有错误被踢回(我启用了 PHP 错误日志)。这些函数被调用、返回和按下,但没有明显的执行。

例如,我在 PHP 代码中输入 'system("/mnt/ramdisk/program")' 或 'system("./program")' 或 'system("sudo/mnt/ramdisk/program")' .如果我在其中放入一个返回变量,它返回为“1”。我检查了“PS -e”以查看程序是否已生成。它不是。我已经禁用了所有标准输出(当我手动运行这个程序时,它会进入后台——并运行一段时间)。我已经将目录(和程序本身)的权限设置为任何人都可以执行(chmod 777)。就好像我叫比特桶一样。我错过了什么?

我开始尝试运行一个过于复杂的程序。当我写了一个只输出一行并结束的小程序时——它成功了。因此,系统“阻止”我的程序并没有本质上的错误。我只需要弄清楚大型程序向南的方向(stdout,stderr 重定向?当 C 程序创建并输出到文件时会发生什么?如果 C 代码中的 exit(1) 类型函数返回PHP exec()?--等)。对于不同调用(system()、exec() 等)的细微差别以及 C 程序中的文件 I/O 可能如何受到 PHP 内部调用的影响,我有很多不明白的地方。

顺便说一下,一旦 C 程序启动,我真的不需要返回 PHP。我真正想做的是在浏览器上创建 GUI-fed 配置文件,然后由 C 程序使用(无需激活 SSH 终端来启动它)。

最佳答案

通过以下命令检查禁用功能 echo ini_get("disable_functions");

但是如果您使用的是共享主机system();执行(); shell_exec(); 被阻塞。

关于php - 从 PHP 中执行我的程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33978582/

相关文章:

php - LARAVEL 5::Language switch? Error: Use of undefined constant language - assumed 'language'

linux - PyQt5错误 "PyCapsule_GetPointer called with incorrect name"

php - num_rows 不适用于准备好的语句

PHP文件权限——创建文件

java - 使用 Java Runtime.exec 在 Ubuntu 中通过终端触发命令

linux - 未设置 TERM 环境变量

php - 使用 php 在 rhel 4 服务器上将 .doc 和 .xls 文件转换为 html

linux - 在现代 Linux(即 ver>=3.0.0)上,是否有更简单的方法在不相关的进程之间共享文件描述符?

PHP 5.0 : Call to undefined function mysql_connect()

php - PHP 中的 rand() 函数问题