更新 PHP.ini 的 memory_limit - Mac OS X Mojave

Update memory_limit of PHP.ini - Mac OS X Mojave

我试过了

下面的步骤,但似乎没有生效。


我创造了

文件 index.php 位于 /Users/bheng/Sites/info

<?php
phpinfo();
?>

我加了

一个虚拟主机

<Virtualhost *:80>
  VirtualDocumentRoot "/Users/bheng/Sites/info"
  ServerName phpinfo.test
  UseCanonicalName Off
</Virtualhost>

我看到了

http://phpinfo.test/ 我看到 phpinfo 页面正在加载

php.ini 的位置表明它在 /etc/

我去了

在我的终端

/etc

⚡️  etc  ls | grep php                                                                                                                                                       
php-fpm.conf.default                                                                                                                                                        
php-fpm.d/                                                                                                                                                                  
php.ini.default                                                                                                                                                             
php.ini.default-5.2-previous                                                                                                                                                
php.ini.default-5.2-previous~orig                                                                                                                                           
php.ini.default-previous                                                                                                                                                    
php.ini.default-previous~orig                                                                                                                                               
⚡️  etc  ls | grep ini                                                                                                                                                       
mach_init.d/                                                                                                                                                                
mach_init_per_login_session.d/                                                                                                                                              
mach_init_per_user.d/                                                                                                                                                       
php.ini.default                                                                                                                                                             
php.ini.default-5.2-previous                                                                                                                                                
php.ini.default-5.2-previous~orig                                                                                                                                           
php.ini.default-previous                                                                                                                                                    
php.ini.default-previous~orig                                                                                                                                               

如您所见,我根本看不到 php.ini

唯一接近的是php.ini.default

我打开了

那个文件,然后更新memory_limit到4G。

似乎没有任何效果,网站上一直显示 128 MB。


我只想将 memory_limit 从 128 MB 更新到 4 GB

对我有什么提示吗?

首先,查看 phpinfo 的输出以获取 Loaded Configuration File 的值。另请查看标题为 已解析的其他 .ini 文件 的部分。您需要检查那里列出的任何和所有 INI 文件,看看它们是否可能有一个 memory_limit 值,即 over-writing 您的设置。

The only thing that closes to that is php.ini.default

我相信 php.ini.default 只是一个后备文件,您可以根据需要使用它来创建新的 PHP.ini 文件。按照上面的说明检查 phpinfo 的输出以确定实际处理了哪些 ini 文件。

编辑:现在您的 phpinfo 输出显示 None Loaded Configuration File 旁边。我建议将该 php.ini.default 文件复制到 配置文件 (php.ini) 路径 中指定的位置,在您的情况下是 /etc。请注意,这是该文件的一个非常尴尬的地方。 PHP.ini 通常位于 /etc/php7.0//etc/php7.0/apache/ 之类的地方。但是,您的 PHP 可执行文件正在 /etc 中寻找它,因此将文件复制到那里:

sudo cp /etc/php.ini.default /etc/php.ini

最后,如果您是 运行 PHP-FPM(看起来您来自上面的 ls 命令),那么您需要重新启动 PHP-FPM进程池。我不确定你机器上的确切命令,但这适用于我的机器:

sudo service php7.0-fpm restart

在您的计算机上运行的内容可能取决于您的安装方式 PHP-FPM。您也可以尝试:

service php-fpm restart

编辑:您也可以考虑重新启动 apache。这也将取决于您使用的安装方法。在我的 Ubuntu 机器上,这个命令有效

sudo service apache2 restart

您实际上需要做的是从 /etc 复制 php.ini.default 文件并在同一路径上创建一个新文件 php.ini。您可以在那里进行更改。