你有没有在网络开发中达到php的实际限制?

cod*_*gar 2 php

除了可扩展性问题之外,有没有人在这里偶然发现了一个Web开发问题,其中PHP没有削减它并且不得不去另一种语言/平台?

我对特定场景及其处理方式感兴趣.

谢谢.

Pas*_*TIN 13

我已经作为PHP开发人员(有时候项目不是太小)工作了3年多,而且我从未真正遇到过PHP不允许我做的任何事情.

当然,您有时/总是必须使用多个服务器,一些其他软件(数据库,反向代理,缓存......) ; 但这是比赛的一部分;-)

实际上,关于PHP的最好的事情就是它的"胶水"性质:PHP的作用是允许你将各种东西粘合在一起,用不同的组件构建你的应用程序.
PHP做得非常好.

有时,你必须用C编程来编写一个PHP扩展,粘合到其他人从未使用的东西(有很多PHP扩展,它们已经像mysql或curl那样,只说两个名字) ; 但是已经有很多扩展已经存在,我从来没有这么做过 - 即使我可能会在某一天或另一天开始这样做,只是为了好玩;-)


需要注意的一件重要事情是,您的问题可能始终存在解决方案:

  • 你讲的是可扩展性; 缓存怎么样?使用几台服务器?使用反向代理?PHP没有问题.
  • 而且,正如你在SO(以及在很多地方)看到的那样:PHP有一个很棒的社区!


如果我不得不考虑PHP不适合的一件事,我会说"彗星":每个请求一个进程的PHP模型不适合长轮询等...

对于长期运行的批次,PHP也不是很好; 而且你经常在你的网络应用程序旁边有一些; 并且使用相同的语言可以重用代码 - 但是,我总是找到一个(不太难)的解决方案.

哦,我还要说:PHP非常适合Web应用程序......但是在桌面应用程序方面并不是那么好 - 即使它是可能的(例如参见PHP-GTK).


Ste*_*iec 10

我作为程序员达到的唯一限制是我自己的能力.我曾经在每天点击几百次的网站上工作,并为一个网站组成的网络维护软件,这些网站每天总共超过1M,并且都运行在同一块软件上.压力不在于PHP,压力在于我制作PHP,服务器和数据库都协同工作以正确使用它们并以可扩展的方式做事.

  • 查询优化
  • 数据库优化
  • HTTP缓存
  • 内存缓存/ APC
  • 服务器优化
  • 主/从数据库设置
  • 剖析
  • 选择恰当数量的数据库规范化
  • 正确记录(仅记录有用的记录而不记录它变得无用)
  • 注重细节
  • 适当的测试
  • 代码组织
  • 具有良好分支/标记的版本控制
  • 文件服务器与Web服务器与数据库服务器
  • 反向代理
  • 一般安全性(防止SQL注入,防止XSS攻击,会话劫持等)

所有的事情都是为了让自己成为更好的程序员.没有适当的硬件背后,很少有语言无法在互联网上运行任何网站.您作为程序员的大部分工作是找到利用该硬件的最佳方法.

然而,有些事情本质上PHP并不是那么擅长.这样的事情包括:

  • 桌面软件(尽管可能)
  • 守护进程(再次,可能)
  • 及时进行大规模的字符串操作(如刮取网站)