发布于2026-07-11 阅读(0)
扫一扫,手机访问
得找对当前激活的 PHP 版本对应的 `php.ini` 文件——比如 `C:\phpenv\versions\8.2.12\php.ini`,把 `memory_limit` 改成 `512M`(单位大写,不能省略)。改完之后,关闭命令行窗口再重新打开才算生效。临时救急的话,直接用 `php -d memory_limit=1G` 覆盖这个值也行。

phpEnv 本质是个 Windows 下快速切换多版本 PHP 的小工具(类似 macOS/Linux 上的 phpenv 或 brew install php),但它本身**不管运行时配置**——memory_limit 的控制权永远在你当前激活的 PHP 版本所加载的 php.ini 文件手里。
别去找 phpEnv 自己的配置文件,它根本没这层。phpEnv 只负责把系统 PATH 指向某个 PHP 安装目录(比如 C:\phpenv\versions\8.2.12\),真正管事的是那个目录下的 php.ini。
php -v 确认当前在用哪个版本php --ini,看 “Loaded Configuration File” 那一行,找到具体路径php.inimemory_limit,去掉行首的分号(注释),改成你想要的,比如 memory_limit = 512Mphpenv rehash 没用)常见原因和 phpEnv 本身关系不大,多半是路径搞混或加载逻辑出了岔子:
php.ini,但当前 phpenv use 8.2php.ini-development 或 php.ini-production,而你编辑的是另一个php.ini,这时候 phpEnv 切换等于白搭memory_limit 写成了 512m(小写 m)或 512(没单位)——PHP 会解析成 0,反而更容易崩如果只是跑一次脚本(比如 Composer update、Lara vel migrate),不想动配置,直接加 -d 参数最稳:
php -d memory_limit=1G artisan migrate
这个参数优先级最高,不用重启,也不依赖 phpEnv 的配置状态。注意单位必须大写:1G ✅,1g ❌。
真正容易被忽略的一点:phpEnv 本身没有“配置层”,它只是个 PATH 切换器。所有 PHP 行为(内存、超时、扩展)都取决于你当前指向的那个 PHP 安装目录里的 php.ini——找对文件、改对值、重启终端,三者缺一不可。
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
正版软件
正版软件
正版软件
正版软件
正版软件
1
2
3
7
8