我有这个问题,当我尝试从PHP复制一些文件,我得到的答复,它失败了,但实际上是复制文件。 这是一个问题,因为我logging了一条错误消息,并在失败时退出脚本,但脚本仍然有很多工作要做。
我已经尝试了两种不同的复制方式:
if(!copy("/var/www/html/smicadmin.properties", "/etc/conf/".$new_dir."/smicadmin.properties")) if(shell_exec("cp $src $dest")==null)
为了让SELinux允许apache写信给我,我标记了'conf':
chcon -R -t httpd_sys_script_rw_t /etc/conf
有没有人有任何线索为什么会发生这种情况,以及如何解决这个问题?
答案是:
shell_exec会返回一个string,这个程序的输出。 如果它返回一些“blablabla”,你比较为空它将是假的。
使用函数exec
http://www.php.net/manual/en/function.exec.php
并将return_var与零进行比较 – 如果成功则等于零,如果失败则为其他值。