PHP替代品?

时间:2010-01-05 17:04:41

标签: php scripting

PHP的替代方案是否表现得更快并且具有相同的功能集(例如支持常见的RDBMS,Curl,Regex等)?

用C编码网站怎么样?这怎么办?该平台是否独立并适用于每台服务器?

7 个答案:

答案 0 :(得分:17)

你的问题很广泛。

  • PHP可以快速且可扩展(Flickr,Facebook和更多网站运行PHP)

  • 目的有点类似于Ruby on Rails,Django,Lift等网页框架......(这些也可以扩展,例如Twitter)

  • C中的CGI简介:http://www.cs.tut.fi/~jkorpela/forms/cgic.html

答案 1 :(得分:9)

如果您喜欢Javascript,可以使用Node.js

在服务器端使用它

答案 2 :(得分:8)

Perl(CGI)

的Python

RoR(Ruby On Rails)

ASP(不是最佳选择)

非常确定如果您要使用C编写网站代码,您将编写自己的网络服务器代码,以便我远离它。

RoR将是一个不错的选择。但这取决于您的个人偏好。我倾向于坚持使用PHP,因为我知道如何在PHP中完成所有工作。

答案 3 :(得分:7)

“有替代PHP”   - 是的

“......表现得更快......”   - 是的

“......相同的功能集......”   - 不 - 这会让PHP变得多余。

你问的是一个非常广泛的问题。有很多语言支持各种DBMS,PCRE和其他东西。

“在C中编码网站怎么样?这是如何工作的?这个平台是否独立并适用于每台服务器?”

  • 不,它不是平台独立的。

基于这样一个广泛的问题,很难指出你在一个特定的方向。

您可能想要阅读此内容:

http://benchmarksgame.alioth.debian.org/

但请注意,软件的大部分成本都在于开发 - 硬件价格便宜 - 因此,能够在一半代码行中实现某些功能对大多数人来说将大大超过性能。

在使用特定语言时也存在不那么明显的限制和/或优势 - 例如

http://www.oreillynet.com/ruby/blog/2007/09/7_reasons_i_switched_back_to_p_1.html

下进行。

答案 4 :(得分:6)

PHP直接插入Apache。

C没有。要将C与Apache连接,您必须使用一些安全/快速CGI实现而不是现成的CGI。

C - 作为一种语言 - 用于构建网站需要做很多工作。

在Python中查看Web框架。

看看Ruby on Rails。

答案 5 :(得分:3)

  

用C编码网站怎么样?这怎么办?该平台是否独立并适用于每台服务器?

在C中编写平台无关代码是非常有可能的。 (PHP本身是用C语言编写的,有很多用C语言编写的跨平台程序和库,比如PostgreSQL和MySQL,Boost和Poco C ++。)

另一方面,编写独立于平台的 Web应用程序主要取决于您与HTTP服务器的集成方式。例如,如果您通过编译模块(对于Apache或IIS)编写直接与HTTP服务器集成的C应用程序,那么您最终将获得更少的可移植代码 - 例如,编写IIS C或Delphi中的模块(我已经看过,eBay最初做过)意味着你不仅锁定到Windows ,而且你锁定到Windows上的IIS 。在C语言中编写Apache模块时情况类似。

但是如果你用C编写一个通过通用标准与HTTP服务器集成的Web应用程序,那么是的,你可以拥有相当可移植的代码(尽管代码必须在每个平台上编译) )。例如,您可以使用CGI使用环境变量与HTTP服务器通信,也可以使用相关标准FastCGI和SCGI。再一次,我已经在实际的商业应用中看到了这一点(效果良好,效果不佳)。

关于本地Web应用程序(例如,用C,C ++等编写)与解释性Web应用程序(PHP,Perl等)的争论往往集中在三个方面。

  • 代码效果。除非它是由脑死亡的猴子写的,他没有找到写幸运饼干的工作,否则C代码总是优于PHP。但是,应用程序中的瓶颈可能与代码的速度和内存消耗无关,而是与输入/输出例程有关。
  • 开发人员的工作效率。除非你使用一个好的框架(并且你的部分问题是关于其他语言的功能集),否则你将会编写大量的重复代码。例如,解码百分比编码的URL,解析HTTP POST数据等。在C和C ++中存在用于此的框架(参见CppCMS)。
  • 可移植性,如您所述。如果您已经准备好用C语言编写Web应用程序,我会坚持使用CGI或SCGI。

答案 6 :(得分:1)

如果您的问题是网站或网络应用程序似乎太慢,切换语言可能不值得。有更有效的方法来加快速度。其中之一是代码缓存,以避免在每个页面请求上重新编译PHP脚本的开销。请参阅示例http://en.wikipedia.org/wiki/PHP_accelerator。我个人使用XCache效果很好。

网站执行速度比其他人慢,还有许多其他原因,许多原因与基础语言完全无关。 YSlow(http://developer.yahoo.com/yslow/)是找到瓶颈的不可或缺的工具。举一个例子,将HTML页面中包含的多个CSS或JS文件组合成一个文件,每个文件都可以大大缩短响应时间。

所以底线:在大多数情况下,基础语言不是罪魁祸首。说了这么多,是的,有更快的语言。请参阅上面的其他答案:)