検証中
まず,デバッグ用の出力を表示する
verbose: true
が効いてない.
普通に導入すると,verboseがtrueの状態でマウスがリンク乗ったりすると
initializedSwiff.Uploader.js (367 行目)
Main::fireEvent "buttonEnter"Swiff.Uploader.js (367 行目)
Main::fireEvent "buttonLeave"Swiff.Uploader.js (367 行目)
こんな風に情報がでるんだけど,ZendFrameworkに乗っけた方はこれがでない.
じゃあ,javascript動いてないんじゃないのか?と思ったけど,mootoolsで要素を隠したりしてる部分はちゃんと動いてるし,ブラウザ側でOFFにしてるわけでもない.
次に,リンク(にはなってないけどリンクになるはずのところ)をクリックすると,何も起こっていないようで実は,ちゃんとアップロードの処理をするflashのobjectが埋め込まれてる.でもリンクになってない.
ということは,リンクを作るところが怪しいなってことで探す.
-
-
-
- -
-
-
これ,ログだしてるのflash側だったのか・・・
んー,javascript側のaddEvent動いてないぞこれ.
大きな問題は解決
たぶん,原因はmod-rewrite使ってことだろうなと勝手に推測.というかそうに違いない.
ZendFrameworkではリクエストは(全て)以下の.htaccessによってフロントコンローラに渡される.
RewriteEngine on
RewriteBase /app/
RewriteRule !\.(js|ico|gif|jpg|png|css)$ index.php
で,まあこれ,デフォルトだとjsは除外されてるからいいんだけど,肝心のflash部分(swf)が除外されてない.
なので,swf呼び出してもフロントコントローラへのリクエスト扱いされて動いてなかったということ.
さらに,ffmepegにエンコードリクエスト投げるところのphpなので,同じようになって返り値もエラー.
ということで,RewiteRuleを少し修正(swfを追加)して
RewriteEngine on
RewriteBase /app/
RewriteRule !\.(swf|js|ico|gif|jpg|png|css)$ index.php
これでinitializedまで動くようになった.
でもこのままだと,ffmpegにリクエスト投げる部分で落ちる.処理してるのがphpなので.
さてどうするか.
おおっと,アップロードも失敗してた.まあこれもphpにpostしてるんだし当たり前か
とりあえず全て解決
RewriteCond %{REQUEST_URI} !/src/(.*)
必要なスクリプトをフォルダに突っ込んで,RewriteCondでそのフォルダ以下は除外.
これで,動くようになった.しかしこれは気持ち悪いな,フレームワークつかってるのに,除外って・・・
Zend_Controller_Request_Httpってのがあるから,できるんだろうけど,面倒だな.
とりあえず他が終わってからにするか.
そういう話ではないのか?