2014-09-24 34 views
0

我過去幾個月內構建了一個AngularJS應用程序,該應用程序利用MySQL數據庫來處理其數據。這些數據是通過Angular調用PHP和PHP返回JSON字符串等來獲取的。在Node-Webkit中使用PHP

問題是一旦這個應用程序在node-webkit內部運行,php中的任何一個都不起作用,所以所有的內容區域都是空的。我認爲(儘管關於這個問題的文檔是空的,所以我沒有確認),這是因爲Node-webkit是一個客戶端應用程序框架,因此不會運行像php這樣的服務器端語言。有沒有辦法擴展節點的webkit運行PHP和其他服務器端語言?

我已經盡力在發佈前找到這個問題的答案,但文檔不存在,並且我發現有關node-webkit的所有信息都會討論如何在服務器上安裝節點併爲MySQL安裝npms並有角度調用節點。這完全破壞了應用程序的目的,因爲它的設計使得exe/deb/rpm/dmg可以運行,並且您可以使用任何雲數據庫提供程序設置數據庫並準備就緒。如果你不得不爲了運行這一件事而購買vps,那就不是很理想。我不得不認爲這是可能的某種方式。我拒絕相信每個使用新應用程序的人都會硬編碼所有數據。

在此先感謝

+0

爲什麼你認爲你需要Node-webkit?請注意,node.js在服務器上運行JavaScript,而帶有modphp的Apache在服務器上運行PHP。 – mb21 2014-09-24 16:41:41

+0

因爲id喜歡它是一個桌面應用程序而不是基於瀏覽器的應用程序。爲了從遠程數據庫調用數據而不是由開發人員進行監督,php特別阻止了localhost作爲服務器執行的服務器? – 2014-09-24 16:45:09

+0

值得注意的是,我對此開放其他解決方案。我不願意擁有的是Web服務器或Node Web服務器上的遠程腳本。我需要在包裝器中運行客戶端計算機的所有調用(不一定是客戶端,僅從他們的計算機)。這樣,共享數據庫可以存儲在公司服務器,雲數據庫提供商,網站主機等任何地方。 – 2014-09-24 17:51:08

回答

3

我知道四種方法來完成此操作。其中一些你不願意做,但我會提供他們希望它可以幫助你或其他人。

  1. 找一個可以爲你做這個的NPM。您應該能夠在node.js中執行此功能。 - https://www.npmjs.com/search?q=mysql

  2. 您可以遠程託管您的PHP。使用node-remote,您可以爲該服務器提供對NW.js項目的適當訪問。

  3. 您可以編寫JavaScript可以傳遞信息的RESTful PHP應用程序。

  4. 您可以使用我的樣板代碼在NW.js項目中運行PHP。然而,它在內部啓動了一個express.js Web服務器來完成此操作。但是,服務器被限制到機器,不接受外界的連接 - https://github.com/baconface/php-webkit

1和4都在你的情況下進行的風險。您的項目可以被顛倒過來以顯示源代碼,並且可以檢索連接信息,相當容易。所以這隻應該在可信計算機上的應用中,2和3是理想的解決方案。

+0

好一年後,似乎有人明白我正在嘗試做什麼!你的php-webkit看起來是一個理想的解決方案。我基本上放棄了一個非常棒的應用程序,因爲沒有辦法做我想做的事,我不希望根據我工作的公司的要求在任何類型的網站上公開提供信息。生病讓你知道它是怎麼回事,並且生病一定要問我是否有任何問題得到它所有的設置! 謝謝! – 2015-03-24 18:32:26

+0

沒問題。我有一個更新的版本,我一直在推動回購。但是這應該完成你想要做的事情。如果您有任何問題,請告訴我。謝謝。 – 2015-03-26 17:47:26

-1

爲什麼你不使用http套接字來創建自己的本地服務器並使用php.exe調用進程並嘗試使用節點webkit它非常簡單?你爲什麼問愚蠢?檢查io.js網站和HTTP套接字讀取正確,並嘗試擁有本地服務器而不是調用PHP文件,而不是像xampp或apache服務器引擎一樣工作。謝謝!