【发布时间】:2014-11-19 06:09:23
【问题描述】:
在过去的几个月里,我构建了一个 AngularJS 应用程序,该应用程序利用 MySQL 数据库存储数据。该数据由 Angular 调用 PHP 获取,PHP 返回 JSON 字符串等。
问题是一旦这个应用程序在 node-webkit 中运行,所有的 php 都不起作用,所以所有的内容区域都是空的。我假设(虽然关于这个问题的文档是空的,所以我没有确认)这是因为 Node-webkit 是一个客户端应用程序框架,因此不会运行像 php 这样的服务器端语言。有没有办法扩展 node webkit 来运行 php 和其他服务器端语言?
在发布之前,我已尽力找到此问题的答案,但是不存在有关此问题的文档,并且我找到的有关 node-webkit 的所有信息都涉及在您的服务器上安装节点和为 MySQL 安装 npms 和有角度调用节点。这完全违背了应用程序的目的,因为它的设计目的是使 exe/deb/rpm/dmg 可以运行,并且您可以使用任何云数据库提供商设置数据库并准备就绪。如果你必须购买一个 vps 来运行这件事,那就不理想了。
我不得不假设这在某种程度上是可能的。我拒绝相信每个拥有 nw 应用程序的人都会对他们的所有数据进行硬编码。
提前致谢
【问题讨论】:
-
为什么你认为你需要 Node-webkit?请注意,node.js 在服务器上运行 JavaScript,而带有 modphp 的 Apache 在服务器上运行 PHP。
-
因为 id 喜欢它是桌面应用程序而不是基于浏览器的应用程序。除了 nw 开发人员的疏忽之外,是什么特别阻止了 localhost 成为执行 php 以从远程数据库调用数据的服务器?
-
值得注意的是,我对其他解决方案持开放态度。我不愿意拥有的是 Web 服务器或 Node Web 服务器上的远程脚本。我需要它在其包装器中运行所有从客户端计算机(不一定是客户端,只是从他们的计算机)进行的调用。这样,共享数据库可以存储在公司服务器、云数据库提供商、网络主机等任何地方。
-
这听起来像是一个用 angular.js 构建的网站。客户端运行 javasccrtipt,在您的情况下为服务器 php 和 mysql。不需要 node-webkit 或任何特定的东西。
-
抛开技术误解不谈,直接将客户端应用程序连接到共享数据库是一个严重的安全漏洞,因为您的应用程序必须嵌入数据库登录凭据(可以轻松提取)。一个中介 api(用 php 或任何其他语言)是要走的路
标签: php mysql angularjs node-webkit