【问题标题】:How update php.ini on a Mac OS X Mojave?如何在 Mac OS X Mojave 上更新 php.ini?
【发布时间】:2019-05-21 03:42:45
【问题描述】:

我在 Mac OS X Mojave 上

第一步

我跑了

php -i | grep php.ini

我明白了

Configuration File (php.ini) Path => /usr/local/php5/lib
Loaded Configuration File => /usr/local/php5/lib/php.ini

第 2 步

我打开ini文件

vi /usr/local/php5/lib/php.ini , 

and update memory_limit to -1 

第三步

我跑了

php -i | grep memory_limit

我明白了

memory_limit => 256M => 256M                                                                                      

第四步

我重启我的

sudo apachectl -k restart

然后输入我的密码

试过了

php -i | grep memory_limit

再一次,我还是得到了

memory_limit => 256M => 256M                                                                                      

好像我的chages从来没有生效...

我需要在 Mac 上启动任何服务吗?如果是这样,什么命令可以做到这一点?

phpinfo

【问题讨论】:

  • cli和apache使用不同的配置文件运行phpinfo()查看apache使用了哪个配置文件
  • 您无需重新启动 Apache 即可看到 php.ini 更改在 CLI 上生效,您的更改应该像您演示的那样工作。我能想到的可能是使用0而不是-1?似乎 PHP 站点现在已关闭,所以我无法确认。
  • 哈哈阅读:serverfault.com/questions/295584/php-cli-memory-limit 在 cli 中它只是忽略了 memory_limit

标签: php apache macos-mojave php-ini memory-limit


【解决方案1】:

编辑:

创建一个空的php文件:

<?php phpinfo(); ?>

使用您的网络浏览器 (localhost/yourfile.php) 加载它。

检查:

  1. “加载的配置文件”与您更改的配置文件匹配。
  2. “memory_limit”具有应有的值。

我通常使用Brew 安装一个“干净”的 php。所以这里有几个问题要确定:

  1. 您是使用 php 作为 cli 还是使用 Apache/Nginx? (可能是 2 个配置文件)
  2. 如果您使用的是 Apache,您是否重新启动了它? (sudo apachectl -k 重启)
  3. 您是否尝试使用更常规的值(如 2048M)?我不确定是否始终支持 -1。

【讨论】:

  • 1 - 我用的是 Apache,抱歉忘记在帖子的标签中添加了
  • 2 - 是的,它会重新启动它。
  • 3 - 除了-1,我还没有尝试任何其他方法
  • 你能检查你的配置文件的路径吗: (在 apache 提供的 php 文件中)?
【解决方案2】:

答案很简单。

你编辑的PHP INI文件和Apache服务器加载的INI文件不同..

您必须更新 apache httpd.conf 文件中的 PHP 加载程序。

然后用sudo apachectl restart重启apache服务器。

最后,现在你可以用phpinfo();测试在apache2中加载的PHP ini文件了

【讨论】:

    【解决方案3】:

    虽然这是一个老问题,但仍有许多人在挣扎。所以想回答一下。

    • 安装的 php.ini 位于 /usr/local/php5/lib/php.ini (或 可以在 /usr/local/etc/php/7.3/php.ini )

    • Apache 使用的 php.ini 不一样,就是/etc/php.ini。

      vi /usr/local/php5/lib/php.ini

    所以上述对 php.ini 的更改不会反映在 Apache 中。解决方案是在您的 apache 配置文件中指向正确的 PHP。

    sudo vi /etc/apache2/httpd.conf
    

    搜索模式“LoadModule php”并使用 libexec 注释现有行并将以下行添加到您的安装中。

    #LoadModule php7_module libexec/apache2/libphp7.so
    LoadModule php7_module /usr/local/opt/php@7.3/lib/httpd/modules/libphp7.so
    

    重启你的apache

    sudo apachectl restart
    

    检查日志文件

    tail -f  /var/log/apache2/error_log
    

    【讨论】:

      猜你喜欢
      • 2019-03-15
      • 2019-04-01
      • 2019-05-20
      • 2019-04-06
      • 2019-06-24
      • 2019-05-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多