2013-03-06 72 views
0

我不完全確定標題的措辭是否正確,但我試圖做的是從Lift框架內運行並執行PHP文件。Scala Lift - 在scala運行時運行PHP文件

我沒有任何URL查詢後駐留在服務器上的PHP文件,更感興趣在某種程度上讓PHP運行時通過我的Scala/Lift應用程序工作。

用例:我將我的應用程序打包成.war文件,我通過雲提供程序託管此應用程序。我將代碼片段上傳到所述應用程序,然後運行php文件並執行任何必要的操作。

我見過關於Bianca的各種帖子,但是我希望能夠保持這個設置的亮度,並且只需要PHP二進制文件本身和一些代碼來讓它飛行。

在此先感謝,請讓我知道,如果你需要我詳談:)

+0

你說的是運行PHP文件爲腳本,即,例如,可以複製服務器周圍的文件,或類似的東西? – fmpwizard 2013-03-12 04:34:48

回答

2

「永遠不要說永遠,因爲限制,像恐懼,往往只是一個 錯覺。」

邁克爾 - 喬丹

你真正需要的是一個開源(GPL),可嵌入的完整PHP 5實現,完全用Java編寫!

Caucho's Quercus PHP Java runtime就是這樣,它可以讓你在沒有外部庫或本地代碼的Java應用程序中運行PHP。

下面是一個櫟-PHP-在Java代碼示例我this answer

import javax.script.ScriptEngine; 
import com.caucho.quercus.script.QuercusScriptEngineFactory; 

QuercusScriptEngineFactory factory = new QuercusScriptEngineFactory(); 
ScriptEngine engine = factory.getScriptEngine(); 

String phpCode = "<?php $foo = strlen('abc'); print $foo; return 'yikes'; ?>"; //PHP Code as String 
Object o = engine.eval(phpCode); 
System.out.println(o); 

發現它應該是舉手之勞這個代碼轉換爲慣用的Scala。顯然,「phpCode」變量可以從外部PHP文件內容等構成

讓我們知道你是怎麼得到;-)

+0

可愛的東西,謝謝:) – jhdevuk 2013-04-03 21:34:22