0

私はphpフラッシュベースのアプリケーションを開発しており、このチュートリアルに従っています。

私のlocalhostPCではすべてが正常に機能していますが、ライブサーバーのCentOSでは機能していません。

librariresこのチュートリアルでは、アプリケーションの下のディレクトリに amfphp ライブラリを保持し、コントローラーを ' gateway' に作成しcontrollers/amf、コントローラーをサービスとして に作成しますcontrollers/amf/services

私はそれを適切にフォローしており、ローカルホストでスムーズに実行できます。また、サブディレクトリの削除amfも問題なく機能しています

ライブでは

Error #2044: Unhandled NetStatusEvent:. level=error, code=NetConnection.Call.BadVersion
    at amfphpconnection_fla::MainTimeline/frame1()

AS からの接続は、

http://domain.com/index.php/amf/gateway

私はそれを機能させるためにさまざまなトリックを試していましたが、 /controller/services/serices フォルダーからのサービスを amf 自体が存在するアプリケーション/ライブラリーに保持し、パスをゲートウェイのサービスに変更すると、フラッシュがファイルに到達できることがわかりましたフラッシュのパスをに変更したとき

http://domain.com/application/libraries/Amfphp/

しかし、サービス ファイルからextends CI_Controllerandconstructor functionまたはを削除するまで、正しく動作していませんでした。get_instance()どちらを入れても同じエラーが発生しました。これはファイルを実行するだけですが、CIフレームワークを使用できないため、私には役に立ちません。

ASでコントローラーパスを使用することが必要であり、これはファイルアクセス許可に関連するものだと思います。これは、LinuxではなくPCで正常に機能するためです。

Apache のエラー ログも調べてみましたが、エラーの兆候は見られませんでした。

助けを求めてたくさんのサイトを見てきましたが、まだ成功していません..

プロジェクトサイト自体にもバグを投稿しましたが、まだ更新はありません

任意の助けをいただければ幸いです

よろしく

4

3 に答える 3

0

私もまったく同じ問題を抱えていました。Windowsで見たAMFPHPWebサイトを読むと、大文字と小文字が区別されるファイルはありません。

したがって、CIでは、「クラスに「myclass.php」のような名前を付け、内部でMy_classがCI_Controllerを拡張することを宣言します」と言います。私はフラッシュで何をしましたか?「My_class」サービスと呼びました。私はローカルホストにWindowsを使用していたので、AMFPHPはファイルを見つけて正しく動作することができました。

しかし、Linuxではありません。したがって、フラッシュでは、「this.connection.call( "my_class"、 "mymethod"など)」と呼び、すべて正常に機能しました。

これが誰かに役立つことを願っています。したがって、Linux envにデプロイする場合は、AMF呼び出しの大文字と小文字を再確認し、フラッシュからgateway.phpを呼び出していることを確認してください。ファイル内のクラスの名前ではなくサービスファイルの完全な名前です。 。

乾杯。

于 2012-09-30T00:26:38.703 に答える
0

私もこの問題を経験しており、OSX で開発していると、エラーが表示されます

faultString => Testservice サービスが見つかりません

そしてこれは...

*faultDetail => #0 /home/myserver.com/public_html/project/ci/application/libraries/Amfphp/Core/Common/ServiceRouter.php(100): Amfphp_Core_Common_ServiceRouter->getServiceObject('Testservice') 1 /home/myserver .com/public_html/project/ci/application/libraries/Amfphp/Core/Amf/Handler.php(107): Amfphp_Core_Common_ServiceRouter->executeServiceCall('Testservice', 'getAll', Array) 2 /home/myserver.com/public_html /project/ci/application/libraries/Amfphp/Core/Amf/Handler.php(138): Amfphp_Core_Amf_Handler->handleRequestMessage(オブジェクト(Amfphp_Core_Amf_Message), オブジェクト(Amfphp_Core_Common_ServiceRouter)) 3 /home/myserver.com/public_html/project/ci /application/libraries/Amfphp/Core/Gateway.php(199): Amfphp_Core_Amf_Handler->handleDeserializedRequest(Object(Amfphp_Core_Amf_Packet),オブジェクト (Amfphp_Core_Common_ServiceRouter)) 4 /home/myserver.com/public_html/project/ci/application/controllers/amf/gateway.php(39): Amfphp_Core_Gateway->service() 5 /home/myserver.com/public_html/project/ ci/system/core/CodeIgniter.php(339): Gateway->index() 6 /home/myserver.com/public_html/project/ci/index.php(202): require_once('/home/ncubator/.. .') 7 {メイン}*

私が使用しているファイルは Google コード ページからのもので、ゲートウェイ ファイルは変更していません。プロジェクトに合わせて testservice.php の内容を変更しました。そして私のベースURLは

http://myserver.com/project/ci/index.php/amf/gateway .

あなたが思いついた解決策を教えていただけますか?

ありがとう!

于 2013-02-13T10:16:59.493 に答える
0

まあ、私が知っている限り、フラッシュを介したフラッシュ通信AMFPHPは、それが期待するものだけを受け入れ、それ以外の場合/その前にフラッシュ終了時にエラーが発生します...私の問題に答えるためBad Connectにコメントですでに述べたようにppalmeid's第三者の包含に、library that was loading automaticallyそれはでしたprinting some HTML characters in the output that was causing the Flash to blow

画面に出てくる文字通りの文字/警告/通知などを確認してください。

これが同じ問題に直面している他の人に役立つことを願っています。

よろしくジュナイド

于 2013-02-13T11:19:42.543 に答える