私は問題に取り組んでいます。私は、スタンドアロンアプリケーションとして実行することができます。このスクリプトに例を剥奪:php mkdir(ウィンドウ)で「許可が拒否されました」がランダムに発生しました
<?php
if(file_exists("x")){
print "<div>Deleting dir</dir>";
rmdir("x");
} else {
print "<div>Not exists</dir>";
}
clearstatcache();
mkdir("x");
私は(ブラウザでF5)を繰り返し、それを呼び出す場合は、時々、このエラーが発生します。
Deleting dir
Warning: mkdir(): Permission denied in F:\EclipseWorkspaces\Ramses\www\deploy\stripped_example.php on line 9
10-20それが正常に動作し、次回このエラーが発生する回数。私はより多くのユーザーがこの問題を持っているが、解決策はないとGoogle検索しました。
https://github.com/getgrav/grav/issues/467
私は、誰かが完全に制御できるcwdにディレクトリを作成します。さらに、mkdir $ modeパラメータはウィンドウで無視されます。エラーの後、 "x"ディレクトリは本当に存在せず、次の試行(F5)では常にエラーなしで作成されます。私は後で飛び越した "clearstatcache()"が助けになるだろうが、追加されません。
私の完全なアプリケーションでは、完全なファイルパスを使用しています。削除されたディレクトリは空ではありません。最初に削除する必要があります。エラーが正常に削除された後は、ほとんどの場合、エラーが発生します。
私のシステムがWindows 7、PHP 7.0.5では、Apache 2.4
なぜこのコードであなたのリフレッシュボタンを叩くのですか?おそらく '競合状態(https://en.wikipedia.org/wiki/Race_condition) 'を作成しています。つまり、' mkdir'が呼び出されたときに、同じスクリプトの別のインスタンスが同時に実行されているためにディレクトリが既に存在することがあります。 – Chris
私はF5を永久に押さないでください。ページがエラーなしで完了した後、F5キーを押してこのエラーのランダムな文字を証明しようとします。 – Hink
最新バージョンのPHP 7.0.10をインストールするのが早すぎましたが、それは助けになりませんでしたが、アプリケーションでの発生が100%から約30%に減少しました。 – Hink