+#navi(../)
-#navi(../)
 * &attachref()で大きなファイルをしてすると500エラー [#KUpMWb9]
 
 - ページ: [[BugTrack]]
 - 投稿者: [[mif]]
 - 優先順位: 低
 - 状態: CVS待ち
 - カテゴリ:
 - 投稿日: &epoch(1411912400);
 - バージョン: 2.0.0stable
 
 *メッセージ [#76MrqE1]
 写真紹介用に利用しているので、特異な環境で申し訳ありません。
  [[この通り:http://mifmif.mydns.jp/pcpc/?NPC2-140920]]attach関係の容量を増やしましたが、&attachref()で大きなファイル(7085KB)をしてすると500エラーとなりました。
 apacheのエラーログは以下の通りです。
  [Sun Sep 28 22:35:14.427128 2014] [:error] [pid 15138] [client 192.168.11.12:52894] PHP Fatal error:  Uncaught exception 'Zend\\Stdlib\\Exception\\InvalidArgumentException' with message 'Passed variable is not an array or object, using empty array instead' in /publicmnt/Public/pukiwiki_adv-2.0.0/vendor/zendframework/zend-stdlib/Zend/Stdlib/ArrayObject.php:184\nStack trace:\n#0 /publicmnt/Public/pukiwiki_adv-2.0.0/vendor/zendframework/zend-stdlib/Zend/Stdlib/ArrayObject.php(411): Zend\\Stdlib\\ArrayObject->exchangeArray(NULL)\n#1 [internal function]: Zend\\Stdlib\\ArrayObject->unserialize('a:4:{s:7:"stora...')\n#2 /publicmnt/Public/pukiwiki_adv-2.0.0/vendor/zendframework/zend-session/Zend/Session/SessionManager.php(95): session_start()\n#3 /publicmnt/Public/pukiwiki_adv-2.0.0/vendor/zendframework/zend-session/Zend/Session/AbstractContainer.php(78): Zend\\Session\\SessionManager->start()\n#4 /publicmnt/Public/pukiwiki_adv-2.0.0/wiki-common/lib/init.php(206): Zend\\Session\\AbstractContainer->__construct('pkwk_916fa29')\n#5 /publicmnt/Public/pukiwiki_adv-2.0.0/wiki-common/lib/main.php(100): require('/publicmnt/Publ...')\n#6 /publi in /publicmnt/Public/pukiwiki_adv-2.0.0/vendor/zendframework/zend-stdlib/Zend/Stdlib/ArrayObject.php on line 184, referer: http://192.168.11.5/?cmd=attachref&page=p140727&attachref_no=2&attachref_opt=%2Czoom%2C320x320&refer=p140727&digest=e806e5e1e0ad55a7edb6fc7b7b0c2b4a
  小さなファイル3MB程度では問題はないようです。
 
 --------
 
 - 一度500エラーが出ますが、再読み込みすると、表示されています。 -- [[mif]] &epoch(1411914431,comment_date);
 - うーん。Zendの部分でエラーになっていますね・・・。#refプラグインで呼び出してもエラーが出ますか? -- [[Logue]] &epoch(1412048977,comment_date);
 -  いろいろ試してみました。~
  #refプラグインでは表示できます。~
  さらにattachrefで同名ファイルを指定したところ、名前置換に問題が見られました。[[test fot write:http://mifmif.mydns.jp/?test%20for%20write]]~
  また、MB,MiBの問題もあるので、upload_max_filesize = 20M
  post_max_size = 10Mでも試してみました。[[fugafuga:http://mifmif.mydns.jp/?fugafuga]]~
  /vendorを再構成すればよいのではないかと思い、ダウンロード時に戻したり、updateしたりしてみましたが(見当はずれかもしれませんが)うまく行かず(500エラーです)。~
  元に戻して、一度試すとエラーがでずにいけましたが、同じぐらいのサイズの写真をattachrefすると、やはりエラーでした。[[mogemoge:http://mifmif.mydns.jp/?mogemoge]]~
  'Zend\\Stdlib\\Exception\\InvalidArgumentException' については、英語のサイトで詳しくまでは読めませんでしたが、時々起るとの記事もあるので、利用上問題ないということでいいのかもしれません。 -- [[mif]] &epoch(1412078906,comment_date);
 - /vendorの再構成については、オーナ、モードの処理を忘れていましたので、ダメもとでもう一度してみます。 -- [[mif]] &epoch(1412128137,comment_date);
 - /vendorを元からコピーする。アップデートする。ことでも無理でした。 -- [[mif]] &epoch(1412149087,comment_date);
 - attachの方でエラーが出るようです。 -- [[mif]] &epoch(1412149131,comment_date);
 - 失礼しました、#attach()では、問題はありませんでした。 -- [[mif]] &epoch(1412150220,comment_date);
 - この問題は、アップロード時のみ発生しますか?それとも、その画像が存在するときも発生しますか? -- [[Logue]] &epoch(1412158171,comment_date);
 - 画像が添付ファイルとして存在するページに同じattachrefを入れてみましたが、問題なく、更新、表示できました。 -- [[mif]] &epoch(1412211542,comment_date);
 - アップロード時のみですね。 -- [[mif]] &epoch(1412691741,comment_date);
 - となると、サーバーに負荷がかかりすぎてタイムアウトしているかのかもしれません。 -- [[Logue]] &epoch(1412760006,comment_date);
 - 20~30秒で帰ってくるので、その辺もあるのかと思います。だた、わたくし自身Zendにはうといので、どのあたりのタイムアウトで、どのような解消方法があるのか、ご教示ください。 -- [[mif]] &epoch(1412843403,comment_date);
 - う~ん。attachのみではおこらないので、アップロード時間ということではないようですねぇ。 -- [[mif]] &epoch(1412844526,comment_date);
 - php.iniのmax_execution_timeを30から60にしてみました。ダウンロードのボタンを押してみましたが、今度は2分以上待たされ。試しに添付ボタンを押してみると同じ500エラーとあんりました。~
 また、skin.jsをstableのものにして、行ってみましたが、うまく行く際は2秒程度で、表示までされていますが、うまく行かない場合は変わりはないようです。~
 ~
  [Thu Oct 09 20:35:11.332654 2014] [:error] [pid 3503] [client 192.168.11.12:56949] PHP Fatal error:  Uncaught exception 'Zend\\Stdlib\\Exception\\InvalidArgumentException' with message 'Passed variable is not an array or object, using empty array instead' in /publicmnt/Public/pukiwiki_adv-2.0.0/vendor/zendframework/zend-stdlib/Zend/Stdlib/ArrayObject.php:184\nStack trace:\n#0 /publicmnt/Public/pukiwiki_adv-2.0.0/vendor/zendframework/zend-stdlib/Zend/Stdlib/ArrayObject.php(411): Zend\\Stdlib\\ArrayObject->exchangeArray(NULL)\n#1 [internal function]: Zend\\Stdlib\\ArrayObject->unserialize('a:4:{s:7:"stora...')\n#2 /publicmnt/Public/pukiwiki_adv-2.0.0/vendor/zendframework/zend-session/Zend/Session/SessionManager.php(95): session_start()\n#3 /publicmnt/Public/pukiwiki_adv-2.0.0/vendor/zendframework/zend-session/Zend/Session/AbstractContainer.php(78): Zend\\Session\\SessionManager->start()\n#4 /publicmnt/Public/pukiwiki_adv-2.0.0/wiki-common/lib/init.php(206): Zend\\Session\\AbstractContainer->__construct('pkwk_916fa29')\n#5 /publicmnt/Public/pukiwiki_adv-2.0.0/wiki-common/lib/main.php(100): require('/publicmnt/Publ...')\n#6 /publi in /publicmnt/Public/pukiwiki_adv-2.0.0/vendor/zendframework/zend-stdlib/Zend/Stdlib/ArrayObject.php on line 184, referer: http://192.168.11.5/?cmd=attachref&page=testtest1&attachref_no=0&attachref_opt=%2Czoom%2C320x320&refer=testtest1&digest=4c47c84e43a45e10c06d0a6719cb121f
  -- [[mif ]] &epoch(1412855444,comment_date);
 - attachプラグインでアップしても発生しますか? -- [[Logue]] &epoch(1412856737,comment_date);
 - attachプラグインでアップした場合、2,3秒でアップロードした旨の表示となます。(さらにこれをrefできました。) -- [[mif]] &epoch(1412859379,comment_date);
 -  お付き合いありがとうございます。いまの環境がかなり貧弱なので、Window8.1のHyper-V(メモリ4GB)でUBUNTU14.01(64.bit)で試してみました。~
  やはり、症状はいまいち安定しません。1秒もなくアップロードし、表示されることもあれば、(並べて書いたattachrefなのに、アップロードボタンを押しても反応がなく、後にリロードすると、写真はアップローダされていた元が確認できると言った感じです。~
  [Fri Oct 10 00:19:08.502580 2014] [:error] [pid 5181] [client 192.168.11.12:63961] PHP Fatal error:  Uncaught exception 'Zend\\Stdlib\\Exception\\InvalidArgumentException' with message 'Passed variable is not an array or object, using empty array instead' in /publicmnt/Public/pukiwiki_adv-2.0.0/vendor/zendframework/zend-stdlib/Zend/Stdlib/ArrayObject.php:184\nStack trace:\n#0 /publicmnt/Public/pukiwiki_adv-2.0.0/vendor/zendframework/zend-stdlib/Zend/Stdlib/ArrayObject.php(411): Zend\\Stdlib\\ArrayObject->exchangeArray(NULL)\n#1 [internal function]: Zend\\Stdlib\\ArrayObject->unserialize('a:4:{s:7:"stora...')\n#2 /publicmnt/Public/pukiwiki_adv-2.0.0/vendor/zendframework/zend-session/Zend/Session/SessionManager.php(95): session_start()\n#3 /publicmnt/Public/pukiwiki_adv-2.0.0/vendor/zendframework/zend-session/Zend/Session/AbstractContainer.php(78): Zend\\Session\\SessionManager->start()\n#4 /publicmnt/Public/pukiwiki_adv-2.0.0/wiki-common/lib/init.php(206): Zend\\Session\\AbstractContainer->__construct('pkwk_916fa29')\n#5 /publicmnt/Public/pukiwiki_adv-2.0.0/wiki-common/lib/main.php(100): require('/publicmnt/Publ...')\n#6 /publi in /publicmnt/Public/pukiwiki_adv-2.0.0/vendor/zendframework/zend-stdlib/Zend/Stdlib/ArrayObject.php on line 184, referer: http://192.168.11.13/?test2
  -- [[mif]] &epoch(1412868455,comment_date);
 - うーん、どうもセッション周りが怪しいみたいですね。添付関連でセッションを使用しているのはプログレスバー周りの処理なのでそこが怪しいかな・・・。 -- [[Logue]] &epoch(1413282227,comment_date);
 - 申し訳ありません。プログラミング関係には疎いので、どうかよろしくお願いします。 -- [[mif]] &epoch(1413560576,comment_date);
 - 使ってみて、はたと思ったのですが、PNGファイルの時には不具合が発生しないようです。 -- [[mif]] &epoch(1414345337,comment_date);
 - ローカルで実行してみても同じ問題が出ますか?とりあえず、PHPのメモリ割り当てを増やしてみてください。 -- [[Logue]] &epoch(1414488968,comment_date);
 -  hyper-vでなく、使用しているサーバのPHPのmemory__limit = 256Mで、さらに、小さなファイルで(pluginのアップロード拡張もしてない方で)試してみました。~
 [[写真のテスト:http://mifmif.mydns.jp/pcpc/?%E5%86%99%E7%9C%9F%E3%83%86%E3%82%B9%E3%83%88%EF%BC%91]]~
 上はjpgで、白画面で止まってしまい、リロードボタンを押すと、アップロードされており、下はPNGでうまく貼り付け後の画面が出ました。~
  [Wed Oct 29 22:42:20.765899 2014] [:error] [pid 5113] [client 118.108.25.32:54460] PHP Fatal error:  Uncaught exception 'Zend\\Stdlib\\Exception\\InvalidArgumentException' with message 'Passed variable is not an array or object, using empty array instead' in /publicmnt/Public/pukiwiki_adv-2.0.0/pukiwiki_adv-2.0.0/vendor/zendframework/zend-stdlib/Zend/Stdlib/ArrayObject.php:184\nStack trace:\n#0 /publicmnt/Public/pukiwiki_adv-2.0.0/pukiwiki_adv-2.0.0/vendor/zendframework/zend-stdlib/Zend/Stdlib/ArrayObject.php(411): Zend\\Stdlib\\ArrayObject->exchangeArray(NULL)\n#1 [internal function]: Zend\\Stdlib\\ArrayObject->unserialize('a:4:{s:7:"stora...')\n#2 /publicmnt/Public/pukiwiki_adv-2.0.0/pukiwiki_adv-2.0.0/vendor/zendframework/zend-session/Zend/Session/SessionManager.php(95): session_start()\n#3 /publicmnt/Public/pukiwiki_adv-2.0.0/pukiwiki_adv-2.0.0/vendor/zendframework/zend-session/Zend/Session/AbstractContainer.php(78): Zend\\Session\\SessionManager->start()\n#4 /publicmnt/Public/pukiwiki_adv-2.0.0/pukiwiki_adv-2.0.0/wiki-common/lib/init.php(206): Zend\\Session\\AbstractContainer->__construct('pkwk_5af9e40')\n#5 /publicmnt/P in /publicmnt/Public/pukiwiki_adv-2.0.0/pukiwiki_adv-2.0.0/vendor/zendframework/zend-stdlib/Zend/Stdlib/ArrayObject.php on line 184, referer: http://mifmif.mydns.jp/pcpc/?cmd=attachref&page=%E3%81%95%E3%82%89%E3%81%AB%E3%83%86%E3%82%B9%E3%83%88&attachref_no=0&attachref_opt=%2Czoom%2C320x320&refer=%E3%81%95%E3%82%89%E3%81%AB%E3%83%86%E3%82%B9%E3%83%88&digest=90492af4436bf0049dae5d9ae4bd9077
  -- [[mif]] &epoch(1414590214,comment_date);
 - どのファイルも、かかる時間によって問題が起きているように思います。 -- [[mif]] &epoch(1415176621,comment_date);
 - よくよく考えてみたら、セッションを呼び出しているのはajax通信時のみでプログレスバーの更新以外では使われていません。真っ白になるのとこのエラーは別問題なのかもしれません。単純にタイムアウトしているだけのような気がします。 -- [[Logue]] &epoch(1415198497,comment_date);
 - 小さなpng画像(599KB)のちょっと大きめに表示したときも、500エラーで帰ってきますね。~
 [[ここです:http://mifmif.mydns.jp/pcpc/?cmd=freeze&page=NPC1-141108]]~
 対処法はあるでしょうか、よろしくお願いします。
  -- [[mif]] &epoch(1415448459,comment_date);
-- 長らくのお付き合いありがとうございます。^
Windows8のHyper-V上で動いている、[[Ubuntu14.04.1をnginxで設定してみました。:http://masterkudo.blog.fc2.com/blog-entry-96.html]]~
大きなファイルを入れると、
 File not found: "DSCF1577.JPG" at page "p141105"[添付]
となります。apacheだとエラーは出るものの、読み込んでおり、表示には問題はなかったので、今の所、apacheという選択になってしまします。また、よろしくお願いします。
 -- [[mif]] &epoch(1415536594,comment_date);
+#comment