[英]PHP script to execute 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. 有什么建议么。
如shell_exec
文档中所述 ,只有在PHP配置中禁用safe_mode
才会启用此功能。
要禁用它(仅适用于5.4之前的PHP ),必须在php.ini
包含以下行:
safe_mode = Off
另一个可能的问题可能来自当前的道路。 您使用相对路径( ./app/p1
和./p2
)调用./app/p1
./p2
。 您确定这些二进制文件位于当前工作目录中吗?
要解决此问题,只需在两种情况下使用文件的完整路径即可。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.