Luar's Flash Playground:AMFPHP 1.9 Missing argument問題
AMFPHP 1.9 Missing argument問題 (09-02-2008)

這兩天被兩個奇怪的問題困擾著。奇怪的原因是一些以前做好沒有問題,操作正常的東西,因為PHP版本昇級,突然無法操作。另一個問題,明明是本地測試沒有問題,但一上載到客戶的Server,卻又不能操作。面對這樣問題就是最痛苦,因為不是程式上的問題,只需往程式上打鑽,面對Server, Apache, PHP上等設定不同問題,真是花很多時間去慢慢找出來。

先說第一個問題。通過AMFPHP進行Flash Remoting時,Method有不同參數要傳,有些參數不需要,所以省略去,AMFPHP那邊收到時會變成Undefined。上星期開發機器,重裝WinXP,裝了最新Apache2.2.8和PHP5.2.5後,AMFPHP 1.9就一直報錯,凡收到不足參數量的數據,即Undefined的數據,就會出現Missing argument的AMFPHP_RUNTIME_ERROR。

解決方法當然是在那個被Call的Function上,凡有可能會省略的參數,都加上Default值,例如:

function getSomeData($par1, $par2=null)

不過,尋根究底,為什麼重裝前後,同樣程式,同樣AMFPHP 1.9會有不同反應,難道PHP5.2.5又改了Post Raw Data等格式或限制?不停Google和比較Server上操作正常版本的php.ini和目前本地開發機器的php.ini,最後發現本地開發機器的php.ini加了:

extension=php_amf.dll
就是它使到AMFPHP 1.9會有不同了!

結果,當然是Disable它,還豎部署的Server根本沒有支援AMF Native Support,本地使用,沒有意思啦。

本文章由發表。
意見
"; print "沒有意見。
 "; } ?>
  • 小弟最近在用amfphp1.9也遇到很多的問題,例如中文亂碼(在1.2是ok的),在本機可以work,但上傳到網頁聯gateway.php就會出現
    500 Internal Server Error
    請問有大大也遇過一樣的問題嗎?

    由jerry於05-03-2008發表

同組文章