ディレクトリが存在するにもかかわらず、『No such file or directory』エラーが出る

PHPでファイルやディレクトリを作成する場合に、ディレクトリが存在するにもかかわらず、次のようなエラーが出ることがあります。

PHP Warning: Unable to create file /xxxxxxxxx because No such file or directory in /xxxxxxxxx on line xxx
PHP Warning: No such file or directory in /xxxxxxxxx on line xxx

PHPではファイルやディレクトリの情報をキャッシュしているため、変更が多い場合や他のプログラムから変更がされた場合は誤動作することがあります。
(PHPのバグではなく高速化のために情報をキャッシュしています。)

NFS(Network File System)を使っているときは起こりやすいです。

これを防ぐにはファイルを作成するコマンドの前に、キャッシュを削除するといいです。
ファイルキャッシュをクリアする関数はclearstatcache()です。

clearstatcache();

関連記事

スポンサーリンク

管理画面の構成一覧

ホームページ製作・web系アプリ系の製作案件募集中です。

上に戻る