这比看起来更难,我想我遇到了某种许可问题,但不知道该怎么办。出于测试目的,我对所有文件使用 777 权限。
我想使用PHP启动一个可执行文件。
我试过了:
<?php
echo system('./FieldTheory');
echo shell_exec('./FieldTheory');
echo exec('./FieldTheory');
?>
但它们都没有实际执行该文件。
但是我尝试使用system('./script.sh');
执行简单的shell脚本:
#!/bin/sh
echo "Hello"
/FieldTheory
./FieldTheory
/opt/lampp/htdocs/FieldTheory
./opt/lampp/htdocs/FieldTheory
我看到“hello message”但我的文件没有被执行。
如果我使用终端命令执行文件:php testfile.php
我的程序正在顺利启动。
编辑:我尝试了无效的绝对路径。
答案 0 :(得分:0)
仔细检查你的php.ini并确保exec函数没有被禁用:
可能有这样的一行:
disable_functions =exec,passthru,shell_exec,system,proc_open,popen,curl_exec,curl_multi_exec,parse_ini_file,show_source