2012-11-12 35 views
2

到PHP如果我有一個文件名爲somephpfile.php,我可以從一個終端窗口中使用執行此從php文件將通過$ _POST接收的終端,我該怎麼做?如何發佈參數從終端

感謝,

+0

你可以做捲曲請求中傳遞的數據,如果這是 – Esailija

+0

sI'm試圖使服務器在java中是可行的,其目前正確地接收通過HTTP發佈給它的變量。然後基於java的服務器需要使用發佈給它的變量來執行PHP。問題是讓PHP執行這些變量。目前我正在創建一個運行「php filename.php」的進程並將輸出發送回客戶端。這適用於直到我需要添加我在我的java服務器中的參數。也許,還有一些其他的方式我需要從我的java服務器執行php。 – ThePerson

+0

你如何在你想解析到php腳本的java服務器中有參數? – 2012-11-13 02:11:54

回答

3

你不這樣做,以及不與柱:

php somephpfile.php var1 var2 

$var1$var2將是陣列英寸

更多細節:http://php.net/manual/en/reserved.variables.argv.php

+0

這是最接近的答案,是不可能以任何方式將它們從java中獲取到$ _POST? 謝謝, – ThePerson

+0

我不是很瞭解java的部分,所以它是我能想到的最好的。 – 2012-11-13 09:29:51

1

如果你想通過$_POST接收參數,那麼你需要承載您的PHP文件在合適的Web容器(認爲Apache + MOD-PHP),並通過適當的HTTP請求來調用它。這是設置$_POST的Web容器。

無論如何,一旦你適當的設置,下面的答案會告訴你怎麼做你想要什麼:

https://superuser.com/questions/149329/what-is-the-curl-command-line-syntax-to-do-a-post-request

+0

是的,它是我在基於java的http服務器上使用的apache庫。服務器接受發佈請求,然後需要執行PHP將結果發回。我的java文件服務器如何接收這些變量並將它們正確傳遞給PHP執行過程? – ThePerson

+0

我假設「apache libraries」和「基於java的http服務器」是指你正在運行Apache Tomcat?很簡單,如果你想使用PHP來生成你的內容,那就是錯誤的服務器。你最好是用Java而不是HTTP來實現你的Web服務邏輯,或者正確地部署基於PHP的Web應用程序,而不是試圖以編程方式從Java服務器引導它。 – aroth

+0

或者如果你真的想這麼做,編寫Java代碼將所有參數值轉儲到一個JSON對象,'Runtime.exec()'一個'bootstrap'PHP文件,它接受JSON數據和實際名稱PHP文件,然後在包含目標PHP文件之前手動將JSON數據打包到'$ _POST'中,然後將結果發回給調用者。當然,即使你採用這種方法,你也可能會發現你錯過了其他重要的全局變量,因爲它是錯誤的方式來完成你想要做的事情。 – aroth