为什么感觉 Node(npm)可以很轻松的整合 c++的本地模块的东西;而 PHP 确不可以 , 是因为 PHP 类似于 js,而 PHP 没有 Node 类似的这个技术吗?

2020-03-02 20:54:43 +08:00
 xiaoyanbot
1554 次点击
所在节点    问与答
10 条回复
ysc3839
2020-03-02 20:57:19 +08:00
可能是因为 Node.js 搞好了配套的编译系统吧? Python 好像也是这样的。但 PHP 要加模块的话得自己折腾编译环境。
ysc3839
2020-03-02 20:59:20 +08:00
还有一种可能是 Node.js 官方为多个平台都提供了预编译的程序,能发布预编译的模块。
Python 给 macOS 和 Windows 提供了预编译的,也能发布预编译的模块。
而 PHP 好像只提供了源代码。
ysc3839
2020-03-02 21:01:48 +08:00
刚刚去确认了一下,PHP 有给 Windows 预编译程序。
crella
2020-03-03 00:15:36 +08:00
想了一会儿,只想到几个点

早期 php 是以 cgi 形式开发的,到现在还可以嵌入到 apache httpd 里。而楼主举例的 nodejs、python 都比较难嵌入到其他基于 c++的程序里。php 在这里妥协了。
ysc3839
2020-03-03 01:26:03 +08:00
@crella Node.js 难嵌入是真,目前官方好像都没支持嵌入,Electron 那些应该是自己实现的。但是 Python 很早就官方支持嵌入的。
翻了一下 Python 的文档,目前能找到的 1.4 的文档里就有嵌入的说明。
https://docs.python.org/release/1.4/ext/node19.html
msg7086
2020-03-03 01:36:00 +08:00
不是技术而是主流用途。
PHP 大规模用在虚拟主机这样的共享环境中,所以大多数应用都是根据这个环境来写的,你总不能要求人在共享服务器上编译吧。
需求少,自然有动力去折腾的开发者也少了。
crella
2020-03-03 08:26:37 +08:00
@ysc3839 刚才想起来了,apache 有 mod_python 和 mod_ruby,提供类似于 cgi 的功能
murmur
2020-03-03 10:03:05 +08:00
nodejs 就算了,还得装一大堆插件,跟 c#和 python 比差远了,我记得 python 一个 CDLL 就可以搞定问题
LokiSharp
2020-03-03 11:22:11 +08:00
因为。。。PHP 只是个个人主页工具集。。。
julyclyde
2020-03-03 14:22:05 +08:00
主要是因为你的感觉是错的

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/649216

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX