0

我有一个问题,当我尝试从 php 复制一些文件时,我得到它失败的响应,但文件实际上被复制了。这是一个问题,因为我记录了一条错误消息并在脚本失败时退出脚本,但脚本仍有很多工作要做。

我尝试了两种不同的复制方式:

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

有谁知道为什么会发生这种情况以及如何解决?

4

2 回答 2

1

shell_exec 将返回一个字符串,这个程序的输出。如果它返回一些“blablabla”并且您与 null 进行比较,它将是错误的。

使用函数执行

http://www.php.net/manual/en/function.exec.php

and compare the return_var with zero -- if success it will be equal to zero, other value in case of failure.

于 2012-05-16T13:04:35.853 回答
0

也试试这些命令:

//http://es2.php.net/manual/en/function.passthru.php

passthru("cp $src $dest, $result");
var_dump($results);

或者

//http://es2.php.net/manual/en/function.system.php

system("cp $src $dest", $retval);
var_dump($retval);
于 2012-05-16T13:03:51.407 回答