Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/234.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
什么';这是索赔背后的理由;PHP没有';t放大(井)“;?_Php_Scalability - Fatal编程技术网

什么';这是索赔背后的理由;PHP没有';t放大(井)“;?

什么';这是索赔背后的理由;PHP没有';t放大(井)“;?,php,scalability,Php,Scalability,我最近学习了PHP,它似乎是一种非常简洁的语言,能够实现非常快速的web应用程序开发(可能比我个人最喜欢的语言——Java:更快) 现在,我不是PHP专家——既不了解该语言,也不了解其内部/细节。但我的很多同行都声称PHP应用程序的扩展性不好——这是一个我自己无法理解的事实,因此我提出了这个问题 我刚刚了解了PHP的过程风格,我对非可伸缩性的唯一猜测是过程语言与OO语言(C与C++/Java)的可伸缩性。我同意这一点,而且我可以看出,对于极其复杂的web应用程序来说,这将是一个多么大的障碍。然而

我最近学习了PHP,它似乎是一种非常简洁的语言,能够实现非常快速的web应用程序开发(可能比我个人最喜欢的语言——Java:更快)

现在,我不是PHP专家——既不了解该语言,也不了解其内部/细节。但我的很多同行都声称PHP应用程序的扩展性不好——这是一个我自己无法理解的事实,因此我提出了这个问题

我刚刚了解了PHP的过程风格,我对非可伸缩性的唯一猜测是过程语言与OO语言(C与C++/Java)的可伸缩性。我同意这一点,而且我可以看出,对于极其复杂的web应用程序来说,这将是一个多么大的障碍。然而,我意识到面向对象性正在进入PHP世界,并不认为这是一个很大的障碍(如果我的假设不正确,请纠正我)


除此之外,我不知道对于一个拥有大量用户的web应用程序,会出现什么样的可伸缩性问题(为了便于讨论,让我们假设一个Restful设计——没有会话——因为我知道这会阻碍可伸缩性)。如果可能的话,我更想知道这种说法的“客观”原因。主观性是好的,但我不是在这里开始一场关于PHP和其他一切的辩论。我只想知道这种语言的潜在局限性是什么,如果/当web应用程序每天(或每小时)有1000个用户时,我必须记住这些局限性,并且不应该在以后咬我的后腿。

我想不出有可伸缩性限制的语言。语言的可伸缩性限制如下:

语言X不能用于编写需要超过 1000行代码

这听起来很可笑,事实确实如此

PHP应用程序不能很好地扩展的耻辱来自这样一个事实:许多没有经验的程序员选择PHP作为他们的web应用程序。这是因为PHP是一种易于学习的语言,与Apache集成得非常好,并且在世界上几乎每台主机上都受支持

没有经验的程序员在编写代码时经常使用错误的做法。考虑到web上到处都是这些用缺乏经验的程序员最喜欢的语言编写的糟糕做法,很容易理解为什么有些人不喜欢PHP

可能还有一些程序员对PHP的“比你更神圣”的态度(同样是因为它的简单性)


当考虑到页面缓存和最佳实践时,PHP的伸缩性与任何其他语言一样好。有很多使用良好的PHP项目可以证明这一点。

这已经讨论过很多次了(google PHP可伸缩性)。此外,世界上一些最大的网站都是由PHP支持的。@simshaun:你能给我提供一些链接吗?这可以帮助我将自己的Q标记为一个副本并将其关闭——只需要声明背后的一个理由:p最重要的结果是“PHP可伸缩性神话”——尽管它已经过时了!PHP是单线程的这一事实如何?@Ken这只是一个彻头彻尾的错误答案<代码>语言X不能用来编写需要超过1000行代码的程序听起来很可笑,因为这根本不是可伸缩性的含义。您不能考虑可伸缩性限制,因为您不知道这意味着什么。Python和PHP都是具有垂直伸缩限制的语言,因为它们只能在单个本机线程上运行。我不确定水平缩放,但我可以想象PHP也做得不好。@taylorcressy-不确定链接与编程语言的可伸缩性有什么关系。扩展应用程序可能需要这些技术,但编写应用程序所用的语言是任意的。@Ken在我回答了这个问题后,我开始查找它,显然在这个问题上存在着大量的争论。我不知道。基本上,可伸缩编程语言的概念对不同的人来说意味着许多事情,并且变得相当主观。看看所有关于Scala的争论(哇!),不管怎样,你答案中的评论仍然没有意义。考虑到您对可伸缩性的看法,PHP仍然不能很好地扩展。(是的,我经常用PHP编程,还有很多其他东西。)