0

PHPからいくつかのファイルをコピーしようとすると、失敗したという応答が返されますが、ファイルは実際にコピーされます。エラー メッセージをログに記録し、スクリプトが失敗したときにスクリプトを終了するため、これは問題ですが、スクリプトにはまだ多くの処理が残っています。

私は2つの異なるコピー方法を試しました:

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と比較すると、falseになります。

関数execを使用します

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

そしてreturn_varをゼロと比較します-成功した場合はゼロに等しくなり、失敗した場合は他の値になります。

于 2012-05-16T13:04:35.853 に答える
0

Try also these commands:

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

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

or

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

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