如何在Windows下增加Symfony项目的PHP内存限制?

3
我在本地主机(Windows 7企业版)上有一个Symfony3项目,使用的是带有PHP 5.6.16和Apache 2.4.17的Wamp Server 3.0.0。当我执行以下命令时:php bin/console cache:clear,我遇到了这个错误:enter image description here
每次使用Composer(例如安装bundles)时,我也会遇到内存限制错误。
我修改了我的php.inimemory_limit = 1G并重新启动了Wamp的所有服务,但问题仍然存在。由于我的项目很大,可能是由于此原因。
唯一的解决方案是在每个命令行中增加内存限制(-1 =无限制):/
php -d memory_limit=-1 C:\Path\of\composer.phar require ...

我的项目正在Windows Server 2008 R2上运行。

你有更好的方法来增加整个项目的内存限制吗?感谢你的帮助。


1
你编辑了正确的 php.ini 文件吗?你可以通过运行 php --ini 命令来检查使用了哪些 .ini 文件,确保没有其他额外的 .ini 文件覆盖了你的 memory_limit。你可以通过运行 php -i 命令(并搜索 memory_limit)来检查它,或者如果有 bash 和 grep(例如 git bash),可以尝试运行 php -i | grep memory_limit 命令来查看你的 memory_limit 是否设置正确。 - Pᴇʜ
1
你说你已经将内存限制设置为1G,但是错误提示显示允许的大小约为134MB。@Peh可能是对的:实际上,你并没有更改正确的内存限制。 - Nanne
@Peh 我执行了 php --ini 命令,结果如下:Loaded Configuration File : C:\wamp64\bin\php\php5.6.16\php.ini。所以显然使用的是正确的文件。现在要检查一下这个文件是否有我的1G限制,结果是只有128M的限制!!实际上,我使用Wamp上下文菜单修改了 C:\wamp64\bin\apache\apache2.4.17\bin\php.ini 文件,即使我在菜单中点击了PHP文件夹>php.ini。 - Eve
1
@Peh:所以,在PHP的php.ini文件中,我将128M替换为500M,我认为这已经足够了...谢谢!!Wamp菜单做得很差... - Eve
2个回答

0

尝试设置

@ini_set("memory_limit",-1);

运行

php -i|grep php.ini

在设置后,查找 php.ini 和 echo phpinfo() 的位置。

在使用后取消变量并优化您的代码。


0

我遇到了这个问题,也许我的经历对某些人有所帮助。

在命令提示符中键入php -v,检查您使用的 PHP 版本是否为 php cli。然后检查您的 Web 服务器正在使用的 PHP 版本 - 创建 PHP 文件。

<?php
phpinfo();

并在您的服务器上运行它。如果版本不同,您必须在Windows上按照此路线操作:

Control Panel->System and Security->System->Advanced system settings->Environment Variables

系统变量表格下方,您应该看到路径变量。路径中提到的php版本用作php cli。将路由更改为您的服务器正在使用的php版本(您修改了memory_limit的位置)。 然后,您必须关闭所有活动的命令提示符窗口以进行更改。

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