Symfony在XAMPP上开发非常缓慢,我该怎么办?

12

我已经安装了Symfony,但每次页面加载都需要40秒。

如果控制器为空,则需要8秒才能加载。如果我开始对数据库进行复杂的查询,情况会更糟。我该怎么办?

  • 禁用Profiler?(这会有很大改变吗?)
  • 在开发模式下启用APC?(但是这不会影响代码的更改吗)
  • 将Session放入APC中?
  • 放弃Doctrine?
  • .... ?

我真的不知道从哪里开始。

(我正在使用Windows 7和Xampp服务器,内存为8GB)


1
处理缓慢问题的第一步是对页面进行性能分析。这样,您就可以准确地了解哪些操作花费了大量时间,并且如何提出正确的问题。https://dev59.com/cXVD5IYBdhLWcg3wTZ1m - Mike B
1
40秒听起来太糟糕了。一定有其他问题。我不认为这是Symfony的问题。 - marekful
关于我的服务器,我刚刚在Windows 7上安装了Xampp。当我运行phpinfo()时,它只需要不到1秒钟的时间。 - Alexandre
如果我为Doctrine激活APC,那么控制器需要大约10秒钟的时间。所以我想说,Symfony不能在不使用大量缓存的情况下构建复杂的网站。 - Alexandre
2
从头开始。下载一个新的Symfony项目,然后在Sample Acmedemo应用程序上运行一些测试。如果您的开发机器能够运行Windows 7,则应该会遇到非常少的延迟。在开发机器上没有真正需要处理缓存和其他内容。您的开发机器可能有其他问题。 - Cerad
显示剩余6条评论
2个回答

14

几个快速建议:

  • 安装 PHP 5.5.x(更快
  • 使用Apache的mod_fcgid而不是mod_php
  • 在您的php.ini中提高realpath_cache_sizerealpath_cache_ttl
  • 禁用XDebug
  • ...

请参见此问题此问题此问题


我会尝试对我的服务器进行一些设置。但是我真的很想保留xdebug...让我们看看;-) - Alexandre
只需创建2个具有不同配置的虚拟主机 - 如果您正在使用mod_fcgidmod_fastcgiphp-fpm(unix),则可以通过向您的php可执行文件传递不同的PHPRC环境变量来设置使用2个(或更多)不同的php.ini文件的虚拟主机,即针对不同的主机名。这样,您就可以轻松地拥有一个禁用xdebug的虚拟主机myproject.lcl和第二个用于调试的虚拟主机myproject.dbg :) 我还有一些...一个myproject.prod用于测试Symfony的生产设置,以及一些用于不同PHP版本的虚拟主机,例如myproject.php54... - Nicolai Fröhlich
“该死!”XDebug是这个问题的主要原因之一!realpath_cache_size和realpath_cache_ttl也对平衡起了一定作用。我甚至不需要使用fcgid。虚拟主机是个好主意,我会为调试创建一个额外的虚拟主机。 所以我停止了Yii的开发,回到Symfony(我对此感到很高兴)。谢谢。 - Alexandre

1

您的系统出现了问题。40秒太长了。即使在开发模式下,您的页面也应该在一两秒内显示。

这里有其他人遇到类似的问题:Windows 7 php + Symfony2 terribly slow


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接