alexei99 发表于 2013-03-26 10:58

用setfacl给apache用户一个目录的RWX权限,但使用system执行命令,有问题。

用setfacl给apache用户一个目录的RWX权限。但是在执行PHP程序的时候,使用system(“toucha”);等是可以正常执行的,但是system("mkdir C") 是不可以的,
我的代码是:
system("/usr/local/mmseg3/bin/mmseg -b /usr/local/mmseg3/bin/exceptions.txt");
这个执行后会在目录下生成一个文件,但是echo $?是0,可是生成的文件找不到。
system('/usr/local/mmseg3/bin/mmseg -d /usr/local/mmseg3/etc /usr/local/mmseg3/bin
/test.txt');
这个是无需生成新的文件,是可以正确执行的。
求助!

alexei99 发表于 2013-03-27 16:52

不能正确执行的时候,firebug有时会有一个500 Internal Server Error的 错误

satrun7 发表于 2013-03-27 17:34

贴一下执行这段代码时,Web服务器的日志。

maochanglu 发表于 2013-03-27 20:17

mkdirc
mkdir 换成绝对路径看看。

alexei99 发表于 2013-04-07 09:55

我最后程序改成system(" cd /usr/local/mmseg3/bin ; /usr/local/mmseg3/bin/mmseg -b /usr/local/mmseg3/bin/exceptions.txt");这样可以正确执行。
但是system("cd /usr/local/mmseg3/bin && /usr/local/mmseg3/bin/mmseg -b /usr/local/mmseg3/bin/exceptions.txt");这样就报500的错误。
system("cd /usr/local/mmseg3/bin");
system("/usr/local/mmseg3/bin/mmseg -b /usr/local/mmseg3/bin/exceptions.txt");
分开写也是会报500的错误的。
页: [1]
查看完整版本: 用setfacl给apache用户一个目录的RWX权限,但使用system执行命令,有问题。