0

詳細:

  • PHP バージョン: 5.3.0
  • アパッチ 2.2.37
  • Windows XP SP3

ユーザーデータではなく、動的に生成されたページで、 TXTにシステムバックアップエラー (php errorおよびcustom error) を作成しています。すでにLOGを生成している場合、他のユーザーはこれまで存在していたように生成する必要はありません。

10 の同時接続/リクエストをシミュレートしましたが、時々このエラーが発生します: No such file

コード:

<?php
$p = 'errs/'.$arqErr;
$o = 'temp/'.$arqErr;
if(file_exists($o) && is_readable($o) && is_writable($o)){
    if(!copy($o,$p)){
        echo 'Error copy "',$p,'" to "',$o,'"';
    }
    if(file_exists($o) && is_readable($o) && is_writable($o)){
        unlink($o);
    }
}
?>

時々エラーが発生します: Warning: Unable to open 'temp/6039dd66559c9431004109202d279557.php' for reading: No such file or directory

そして時々エラーが発生します: Warning: Unlink failed (No such file or directory)

PHP_5.3.0のバグですか?

注: Windows Seven with PHP5.3.4 では、このエラーは発生しません。

4

1 に答える 1

1

問題は、複数の同時ユーザーが同じファイルにアクセスしようとしているようですが、PHP 関連の問題ではないようです。

別のロギング スキームを考えてみてください。おそらくerror_log()関数を使用して、PHP で同時アクセスの問題を管理することができます。

<?php
error_log('Log message', 3, "md5(address of the page).LOG.txt");
?>
于 2012-11-09T21:25:39.403 に答える