是否可以在一个网站上使用多种编程语言

时间:2010-06-16 04:14:58

标签: java php python webserver

假设我有一个网站,其中有简单的网页,如

page1.php
page2.php

现在有一个页面,我想要一些详细的功能,我想使用python,它看起来像

page3.py

在其他页面我想使用像

这样的java
page4.jsp

如果我在网络服务器上安装了python,java。

有可能吗?

9 个答案:

答案 0 :(得分:22)

是。这是可能的。你会发现自己遇到麻烦的地方是你想要在它们之间共享服务器端信息(I.E.会话)。

除此之外,您可以在网站上使用(但我会建议不要使用)您想要的所有语言。

答案 1 :(得分:10)

是的,这是可能的,但你绝对不应该这样做。

运行不同技术的页面之间的通信不会很优雅,除非您没有获得共享会话池这一事实。会话桥是可能的,但它们很难做到。

如果你不能为你的核心网络层选择一种语言,我会说你犯了一个错误。

答案 2 :(得分:5)

是的,只要服务器可以提供您要使用的文件,就很有可能。如果它没有python,则不能使用python。

答案 3 :(得分:5)

这取决于Web服务器。 Apache可以做到。只需确保为每种文件类型都有适当的处理程序模块,并使用AddHandler配置指令将每种类型映射到适当的处理程序。

答案 4 :(得分:4)

此外,为了迂腐,您不仅可以使用所有这三种,而且实际上可以在会话级别集成它们,因为所有这些语言都可以在JVM上使用。因此,在一个容器中,您可以运行所有PHP,Python和Java代码。您可以共享会话状态,重用与数据库的连接(通过服务器范围的连接池),利用PHP和/或Python代码中的Java库等。

我并不是说这将是“拖放”的简单方法,但如果您需要这种紧密集成(通过数据库或文件系统进行集成),这是可能的,甚至是实用的。确保Python和PHP代码在Java实现上也能正常运行可能会有细微差别。

答案 5 :(得分:3)

简短回答:是的,许多网络服务器可以处理多种语言的生成页面。

答案 6 :(得分:1)

人们在谈论会议......

现在几乎所有服务器端技术都支持自定义会话提供程序,您可以在其中连接一些代码以在不同的HTTP模块和绑定程序之间共享会话。

如果您开始从头开始编写网站,并且需要自己编写所有代码,那么您可能会选择使用一种编程语言(仅为了方便编码)。

但......哪里都开始改变了?当你想混搭一些开源和社区源代码来建立一个网站时。比方说一个商店&社区与ASP.NET混合使用像CRM一样的CRM(在PHP中)。 在这种情况下,您不需要任何会话共享,只需要用户在数据库中同步过程。 此外,如果您选择IIS 7(Windows Server)或Apache(使用Mono项目,您可以在LAMP上运行ASP.NET),您可以在同一台计算机上运行它们。

请记住,最重要的是上市时间!因此,节省代码时间对您的成功至关重要。

享受!

答案 7 :(得分:0)

我为一家PHP开发公司工作,这些ASP.Net公司一直来到美国,无论出于何种原因,我从未理解过。我们在PHP中构建它们通常动态地拉入布局 - 有时托管在子域上,有时直接在IIS中使用PHP模块托管。它非常混乱和糟糕,它可以完成,但我会说避免它。

答案 8 :(得分:0)

您可以使用Apache反向代理来做到这一点,并且会话必须在编程语言之间是可读的。我在一个网站上使用Go,NodeJS和PHP。会话保存在Postgresql中。最难的部分是您网站上使用的所有程序都可以读取相同格式的会话并保存在相同的位置。我已经使用github.com/yvasiyarov/php_session_decoder读取和保存Go会话,并将其保存在Postgresql中,以便PHP可以处理该会话