我已经在 Windows 10 上为我的项目使用了Symfony几年(SF2,SF3),最近我转到 Symfony 4 来构建一个新项目,但表演是灾难性的。
Symfony初始化时间为5到25秒,如本例所示
控制台也是如此:例如cache:clear
可以持续1分钟。
我在Symfony doc和论坛中搜索了类似的问题和问题,并且我测试了推荐的优化(增加opcache
的某些值,启用APCu
,禁用{{1在xdebug
中添加realpath_cache_size
,使用Composer类映射功能)但在我的情况下它不会改变任何内容。
以下是我对APCu的phpinfo:和Opcache:
我使用的是PHP 7.1.9,Apache 2.4.27,MariaDB 10.2.8。
是否有人有同样的问题和/或想法?
答案 0 :(得分:2)
*更新*
我为这个问题找到了一个更好的解决方案。那就是... https://www.quora.com/How-do-I-get-a-streaming-URL-for-Tunein。我知道您在想什么-“ Windows上无所事事?大声笑。”。但是,这里发生了变化-现在有一个vagrant。我已经在两台win10电脑上对其进行了测试,到目前为止效果很好。对我来说似乎很稳定,我得到的响应时间 低至40-50毫秒 (当然,除了symfony重新生成/预热缓存的时间等) )。 Composer的安装,IDE同步和其他内容也都可以正常工作。
此外,我在ubuntu仿生virtualbox虚拟机上具有由nginx和php7.2-fpm组成的相当标准的设置。没什么特别的或没有任何优化的。
如果您不打算流浪,我仍然在下面留下我的较早答案。祝你好运,编码愉快!
* //更新*
Symfony一直以来在Windows上的性能一直很差,至少对我而言是如此。
启用/禁用opcache / apc / xdebug,调整realpath或任何可能的方法-至少可以使事情变得更好,至少一点点,但从我的经验来看,它们从未真正起作用。 那...到底谁想在没有调试器的情况下工作?在我看来,这不是解决方案。
我的建议是完全删除XAMPP / WAMP(或者,但是您已经安装了当前的php堆栈)并安装了nginx + php-fpm。
您可以手动进行操作-plugin for NFS folder sync on windows-或安装for example。
WinNMP是非常类似于XAMPP / WAMP的工具,但基于nginx。它带有Nginx,PHP,MySQL和Redis。
唯一的缺点是您必须学习如何配置nginx(如果您不知道),但是无论如何您都应该这样做。 Nginx的性能更高,因此-在大多数情况下-更适合生产环境,因此将来可能会有所帮助。
无论如何,这是我发现不必在每次刷新时都禁用xdebug或等待年龄的Windows上使用symfony的唯一可行解决方案:)
答案 1 :(得分:0)
您是否正在使用localhost
连接到数据库(或其他任何数据库)?将其更改为127.0.0.1
如果配置不正确,JMS DI Extra捆绑软件可以在Windows上执行此操作。
其他人提到过xdebug和realpath_cache_size,它们也是常见的罪魁祸首。
答案 2 :(得分:0)
关闭WAMP(或至少关闭Apache)并使用 php bin /控制台服务器:运行。
答案 3 :(得分:0)
我遇到了一个Symfony问题,每个请求的初始化需要3-5秒,这使得本地开发非常缓慢。我尝试了所有改进措施(php.ini设置更改,php升级等),最后我通过在xDebug中启动Symfony进行了逐步调试,发现每个页面请求都在重建dev缓存,并且触发了文件services.yaml缓存重建。
当我查看Services.yaml文件时,我意识到修改的时间是将来的方式,因为我正在测试时间更改,并将计算机时间移到了将来,并在此期间保存了services.yaml文件。当我在当前时间重新保存文件时,它停止强制每次重新构建缓存。
答案 4 :(得分:0)
在 Windows 上,我推荐 WSL2。您可以安装 Apache2 和 Mysql 并为您的项目设置一个虚拟主机。它的运行速度明显快于内置服务器。
答案 5 :(得分:-1)
在这里,我有使用XAMPP的Windows 10 Professional(尝试php 5和php 7,无所谓)。
我还尝试将内置服务器与php bin /控制台服务器一起使用:运行
我正在使用json响应控制器,它需要大约30到45秒的运行时间,有时甚至需要一分钟以上的时间来处理。我的Api请求甚至返回超时错误。
此外,我对php bin / console进行的每项操作都非常缓慢。.因此,我认为XAMMP中的Apache不仅如此,而且PHP捆绑了它。
我刚刚从http://windows.php.net安装了php-7-2软件包,现在它的工作效果要好得多。响应时间最多为3-4秒。
所以不要浪费时间使用XAMPP ...只需使用原始的PHP和Apache,就可以了。