オープンの問題?

WBOY
リリース: 2016-06-23 13:54:24
オリジナル
1001 人が閲覧しました

$file='/data0/htdocs/www.25229.com/data/block/687-accept_service-order_str.data';
$mod='a+';
if(!$fp = fopen($file, $ mod)) {
echo '1';
}else{
echo '2'; }

レポート fopen: ストリームを開くことができませんでした: ファイル名を変更しても、エラーは報告されません。たとえば、コマンドを使用してサーバー上にファイルを直接作成すると、同じエラーが報告されます。実際には、「687-accept_service-order_str.data1」に変更してもエラーは報告されません。ハードディスク上にあります
このパーティション内のディレクトリ数の制限は問題ありません。形式は次のとおりです: ext4

ファイル名を変更しても問題がないのはなぜですか? ! !


ディスカッションへの返信(解決策)

性格の問題ですか?

スペイン語でもう一度入力してください

問題ありません。この名前のファイルは「/data0/htdocs/www.25229.com/data/block/」ディレクトリに作成できます。コードがテストされ、すべてが正常に動作し、2 が出力されます。

他のファイル名は変更できるので、容量が足りないということはあり得ません。


$mod='a+'; を r に変更して、読み取れるかどうかを確認してください。

いいえ、このディレクトリ「block」にのみファイルを作成することはできません。他のディレクトリでは問題ありませんが、このディレクトリ内のファイル名を変更するだけです。
実際には、このファイルは存在せず、ファイルを直接作成します。サーバー上でコマンドラインを使用しても機能しません。プログラムとは関係ないようですが、なぜこのディレクトリにこの名前が作成できないのかわかりませんが、他のディレクトリには作成できるのです。このディレクトリ内のファイル数: 7718686 ファイルですが、「inode」の数はパーティション制限を超えていません

すでに 20,000 個のファイルが存在します。破損しているためファイルが + にならない可能性があります

rm /data0。 /htdocs/www.25229.com/data/block/687-accept_service-order_str.data

rm: `/data0/htdocs/www.25229.com/data/block/687-accept_service-order_str.data' は削除できません:そのようなファイルまたはディレクトリはありません

ファイルは存在しません。

touch /data0/htdocs/www.25229.com/data /block/687-accept_service-order_str.data プロンプトが表示されます デバイスに空き領域がありません

ただし、作成しても問題ありません名前が異なっていれば、このディレクトリ内の他のファイルも保存できます

実際、これはファイル ディレクトリ情報が破損している典型的な症状です
各ファイルには、ハードディスク上のファイルの場所をマークするエントリがディレクトリ ファイル内にあります。占有セクター数やその他の管理情報。

バイトの 1 つが破損している限り、さまざまな問題が発生する可能性があります。

ディレクトリ全体を新しいディレクトリにコピーしてから、元のディレクトリを削除することはできます。こうなると非常に面倒なので、削除できるものはすべて削除するのが簡単な解決策です。新しいディレクトリを使用してください。ファイル シュレッダーをお持ちの場合は、それを使ってみることもできます
もちろん、コピーした新しいディレクトリの名前を元に戻すことができれば、それが最善です

ディレクトリを削除すると、Web サイトの使用に影響します。 Web サイト内のデータはその中にあります
さらに、ファイルが失われる限り、このディレクトリのみを再度作成することはできません

はい、削除すると多少の影響があります。でもコピーするように言いませんでしたか?
やるときは当然アクセス数が多くない時期にやるべきだし、アナウンスもするべきだ。大きな影響はありません

ディレクトリからファイルが失われます。つまり、ディレクトリ内にファイルとフラグメントが多すぎることを意味します。トラックの老朽化が原因である可能性もあります
つまり、ハードディスク上のディレクトリの場所を変更することは有益で無害です
ファイルが多すぎる問題を解決するには、プログラムの修正が必要になる場合があります。最初にそれを行うことができます。

ディレクトリに問題があるはずです。直接マウントします --bind 新しいディレクトリで大丈夫です、ありがとう

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート