2008-12-07 83 views
0

我的問題是Flex的fcsh是否可以從PHP腳本中調用。這裏是背景:從PHP腳本調用fcsh

我已經創建了一個簡單的過程,通過將文本文件轉換爲.mxml文件並使用mxmlc編譯器編譯爲.swf文件來創建一個簡單的測驗/教程。這從命令行運行良好,但我想通過創建一個Web界面來實現這個過程,從而簡化過程。我最初嘗試使用PHP的exec()函數沒有奏效。我用來創建.mxml文件的Python腳本可以正常工作(使用exec()),但是我一直無法使mxmlc編譯器正常工作。

在Web和本網站上搜索後,我相信使用fcsh(而不是mxmlc)可能是一種方法。使用fcsh肯定會更快地編譯.mxml文件(第一次運行後),我認爲fcsh可以作爲可以從PHP調用的服務啓動。

另一方面,也許我正在接近這個錯誤的方式。編寫一個調用fcsh並避免使用PHP的Flex應用程序會更好嗎?

編輯:使用fcshctl as hasseg在他的回答中提出的工作得很好。謝謝阿里。

回答

1

從腳本中調用fcsh的問題是,它可以作爲一個交互式shell而不是採取命令行參數,編譯,並返回一個退出狀態。有不同的方法可以解決這個問題,我列在this blog post of mine中,我主要討論fcshctl(這是我自己的解決方案),但在帖子的底部我還列出了其他類似的解決方案以獲得fcsh集成到非標準構建工作流程中。

+0

我看到了你的帖子,我喜歡這個主意。我會嘗試fchsctl來查看它是否有效。謝謝, Vern – 2008-12-08 01:56:52

0

在執行外部腳本時,還有其他一些方法。它們是exec(),passthru(),system()和反引號,即1鍵左側的鍵。每個人都有不同的目的和回報機制。

您可能必須將執行可執行文件的命令放入腳本中,並通過其中一個函數調用該腳本。

0

爲什麼不能直接使用mxmlc是否有特殊原因?看起來好像比fcsh更容易打電話。只需在一個XML文件中指定所有編譯器選項,就像mxmlc -load-config path/to/config.xml一樣運行它。您可以在FLEX_HOME/frameworks/flex-config.xml中找到XML配置格式的示例。