0001那須2019/10/30(水) 10:46:10.92ID:1in2zcYi
0952不明なデバイスさん2020/08/15(土) 21:51:30.46ID:OrxaDfcC
みれた!
管理者ページをadminじゃなくてユーザーのほうでログインしたらフォルダ見えました!
0953不明なデバイスさん2020/08/15(土) 21:57:03.41ID:bFJRUQpG
??????????????
すまん、言ってる事がさっぱり分からん
ログインページってローカルユーザでログイン出来るんか…
まぁ見れたんなら何より
0954不明なデバイスさん2020/08/15(土) 22:00:48.31ID:OrxaDfcC
ユーザーIdにadmin付与してました。すみませんでした。
0955不明なデバイスさん2020/08/16(日) 01:33:48.67ID:AfV/s9wr
ゆとり馬鹿は死ね
ここに書かなかったけど俺の思ってたとおりだったか(キリッ
良かったじゃないか、netgearがクソじゃなくて
24時間365日運用してた526XのLCDがつきっぱなしになってたから何かと思って覗いてみたら
「TCP_ack+33(うろ覚え)」みたいなよく分からんメッセージが表示されてデータにも管理画面にも
アクセスできなくなってた
電源ボタン長押しで落として再起動したら管理画面にもデータにもアクセスはできるようになったけど
何故かいきなりボリュームの再構築が始まってるし
今まで3年半以上ずっと連続運用してきてこんな怪しい挙動したのは初めてだ
中のデータは無事のようだがログにも何も残ってないしこの妙なメッセージは何なんだろうか
ググってもヒットしないんだけど他にもこんなメッセージ出た人いる?
ファイルシステムの異常を検知すればボリューム再構築は走るよ
RAID情報の差異をなくすための処理だから。
NAS初心者だけど、102も212も簡単に扱える
NETGEAR万歳
>>961
謎のメッセージは気になるけどとりあえず再構築は終わって異常もなさそうだから
このまま様子見するしかないか
念のために半年に一度くらいは再起動とかした方がいいのかもしれない ReadyNAS RN212で、Nextcloudを使っているのですが、
4G以上のファイルをNextcloudに同期すると、以下のようなエラーが出ています。
file_put_contents(): content truncated from 4200923136 to 2147483647 bytes at /apps/nextcloud/web/lib/private/Files/Storage/Local.php#503
一緒にインストールされているphpのエラーのようなのですが、
RN212上のファイルは元のファイルサイズ(4G)で表示されており、
Nextcloudでブラウザを使ってダウンロードしても、4Gのままで、
Nextcloudに同期する前のファイルと比較しても同一でした。
このエラーはphpの設定の問題なのか、
または、RN212のOSが、32bitOSであることによるエラーなのか、悩んでいます。
php_value upload_max_filesizeや、php_value post_max_sizeは、12Gに変更済みです。
解決方法があれば、教えていただけませんでしょうか。
文章は丁寧だけど、少なくとも他人に自分の環境と問題点を理解してもらえるように努力すべきだと思うよ。
仕事とかしてて、最近こういう輩が多いと思う。20代が特に顕著。
最後まで読まないと目指すゴールが分からない
そこからようやく内容把握のために読み返すことになる
>>965
212はRAM2GBなんだけど。
エラーログ的にもそんな感じだが何でこのログ見ても推察出来ないの? 可哀そうだからエスパーするけど、
>>965の言っている4Gって約4GBなんだろうな、3.9GBとか
phpのエラーは3.91GBから2TBって書いてあるから、
越えそうだったからエラー出したけど、実際には収まったからヨシ!
なんじゃないかな。知らんけど。 >>965
>> 966-969 が何だかんだマウント取っている割にはまともな回答がなくて噴いた。
これがプライドだけ高くて実力が伴わない老害ってやつかね?
32bitのPHPだとintの最大値はsignedなので (2^32)-1 ≒ 4G ではなく、符号の1bitを引いた (2^(32-1))-1 ≒ 2G なんだわ。
で、file_put_contents はintが最大だから一度に2GBまでしか書き込めないから切り捨てられたってエラーが表示されているわけだ。
なので、PHPの設定の問題ではなくNextcloudの実装の問題。
32bit環境で file_put_contents を使う場合は2GBごとに分割して書き込まなきゃいけないけど、それをやっていない。
例えば下記の感じで、自分でソースコード書き換えたら何とかなるかもね。
public function file_put_contents($path, $data) {
$bytesWritten = 0;
foreach (explode(PHP_EOL, chunk_split($data, PHP_INT_MAX, PHP_EOL)) as $chunk) {
$bytesWritten += file_put_contents($this->getSourcePath($path), $chunk, FILE_APPEND|LOCK_EX);
}
return $bytesWritten;
} 965です。
>> 966-969
わかりにくい文章で申し訳ありません。次回以降は、皆さんの文章を見習い、理解いただけるように努力します。
>> 970
32bitのPHPの制約+Nextcloudの実装の問題であるということですね。
頂いたアドバイスから、エラーの該当箇所(ファイル)が、
/apps/nextcloud/web/lib/private/Files/Storage/Local.php
であることに、初めて気づきました。
コードの書き換えは、私には荷が重いですが、頂いたソースを参考に勉強してみます。
アドバイスありがとうございました。
>Nextcloudに同期する前のファイルと比較しても同一
比較ってコンペアの事だよね?
ファイルサイズだけで同一とか言ってる訳じゃないよね
>>970
すみません。これのどこら辺が2GBなのか教えていただけませんか?
老害ですみません。
from 4200923136 to 2147483647 2GBは2147483648Byte
0x80000000
int=-2147483648から2147483647
>>973
純粋に単位の変換が分からず聞いているのか
1 byte足りないから厳密には2GBではないという主張がしたいのか
それともSI接頭辞のGBは本来10^6だから、2^30の場合は2進接頭辞の2GiBで表記すべきと指摘したいのか…
2147483647 B = 2097151.999 KiB = 2047.999999 MiB = 1.999999999 GiB ≒ 2GiB すみません、やっとわかりました。
4200923136 は元のサイズで、そっから2GiBは切り捨てたよってエラーなんですね。
でも元のサイズのファイルが出来たんでしょうか?2GiBの中途半端なファイルができるんだったら分かりますが。
すみません、老害で。
>>976
約4Gを2Gに切り捨てたってことです
2G以降は0埋めなのかな >>977
ぬるぬるなんですね
ということは>>965の
>Nextcloudに同期する前のファイルと比較しても同一でした。
ってファイルサイズの事だったのか・・てっきりbinarycomareしたんかと思った。
ありがとう、ヤングマンさん達 昔ラズパイでおんなじことやって2GiBしか出来んかったって人って、多分これなんだろうなぁ。
ぬるぬるじゃないだけマシだったのっかな。
965です。
皆さん、わかりにくい文章で申し訳ありません。
書ききれていなかったことを補足します。
ファイル比較は、バイナリ比較 Bn_Cmp2.60で実施しました。
おそらく、バイナリ比較だと思います。
また、皆さんの書き込みから、念の為にバイナリエディタ(FavBinEdit ver1.2.4)でも確認してみました。
どちらのファイルも、00674400までは、たまに文字列が入っており、
0067400からF9FDA860までは、ほぼ全てに何らかのコードが記載してありました。
それ以降は、たまに文字列が入っていました。
以上の結果から、エラーが表示されているものの、ちゃんとコピーできているように見え、更に、混乱していますが、
コードの修正等できるようになるまでは、、2GB以上のファイルは、取り扱わないようにしたいと思います。
多くのアドバイス、ヒント、ありがとうございました。
老害ですが、file_put_contents は分割ルーチンなのかな
chunk_splitでPHP_INT_MAX(2GiB-1)のブツ切りにして、explodeで$chunkサイズのスライスまぁ10MiBとか。
で処理したバイト数を$bytesWrittenで戻り値にするのだが、2**31-1 を超えた値なので、
結果的にマイナス値を返したことになっちゃって、call元が2GiB-1以上は処理できなかったと勘違いした。
つまり、分割処理は上手く行ったけど、PHP処理的にはエラーになっちゃった。
再結合後のエラーログは出てないと思われ、多分、うまく再結合できたと推察される。
何が悪いのか分からないが、NextcloudについてきたPHPのコードがまだ未成熟でした。
で、いいのかな?つか、NETGEAR関係ねーじゃん・・
>>981
残念。
PHPではintがオーバーフローしたらfloatになるから $bytesWritten は負の値にはならない。 へーそうなんだ。call元はfloat型だったんか。int型を期待していると思ってた。
今回>>970がコード書いてくれたから進んだんだが、>>970も勘違いした部分もあり迷走したけど
結果オーライだからにヨシ!ありがとう>>970
ははは、まだまだ若いもんにはm(ぐぼぁっ 2GB以降入ってないデータ作ったことあるので耳が痛い
>>983
ちなみに>>970で書いたコードは修正方法の例であって、元のNextcloudでは下記になっている。
public function file_put_contents($path, $data) {
return file_put_contents($this->getSourcePath($path), $data);
}
この中で使われている file_put_contents はPHPのファイルシステム関数で戻り値がintだからPHP_INT_MAXが上限。 10011001Over 1000Thread
このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 295日 7時間 13分 29秒
10021002Over 1000Thread
5ちゃんねるの運営はプレミアム会員の皆さまに支えられています。
運営にご協力お願いいたします。
───────────────────
《プレミアム会員の主な特典》
★ 5ちゃんねる専用ブラウザからの広告除去
★ 5ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
───────────────────
会員登録には個人情報は一切必要ありません。
月300円から匿名でご購入いただけます。
▼ プレミアム会員登録はこちら ▼
https://premium.5ch.net/
▼ 浪人ログインはこちら ▼
https://login.5ch.net/login.php