用于执行exec的PHP脚本

时间:2012-10-19 00:35:01

标签: php exec

我正在编写一个PHP脚本来上传使用系统调用fork()exec()execl()执行其他c文件的文件。 不幸的是execl()函数不起作用 更详细的PHP脚本,执行exec()函数为:

$output =shell_exec('./app/p1';
echo "<pre>$output</pre>"; ) 

执行p1,它是p1.c的可执行文件,p1.c程序调用execl()为:

execl("./p2", "./p2", "a.param","test.txt", NULL); 

执行p2,它是p2.c的可执行文件。结果是p1.c中的execl()没有执行,并且没有执行p2.c. 有什么建议。

1 个答案:

答案 0 :(得分:0)

shell_exec documentation中所述,只有在PHP配置中禁用safe_mode时才会启用此功能。

要禁用它(仅适用于PHP prior to 5.4),您必须在php.ini中包含以下行:

safe_mode = Off

另一个可能的问题可能来自当前的路径。您正在使用相对路径(./app/p1./p2)调用二进制文件。您确定这些二进制文件位于当前工作目录中吗?

要解决此问题,只需在两种情况下使用文件的完整路径。