ディレクトリが存在するにもかかわらず、『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();

関連記事

スポンサーリンク

標準のHelperを拡張してカスタマイズする方法 CakePHP2

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

上に戻る