【问题标题】:memory_limit return different values in php5-cli and browsermemory_limit 在 php5-cli 和浏览器中返回不同的值
【发布时间】:2016-03-27 05:34:21
【问题描述】:

我正在编写一个脚本,需要我获取所有 php 配置。但是当我在浏览器中运行ini_get_all() 并使用php5-cli 时,我偶然发现了一个问题和不一致之处。这是我的代码 sn-p:

$confiq = ini_get_all();
echo $config['memory_limit']['local_value'];

当我使用浏览器运行时它返回 128M,但当我从命令行使用 php5-cli 运行时它返回 -1

编辑:原来他们使用了两个不同的 php.ini 文件。我用php --ini 命令检查了cli .ini。现在我需要弄清楚如何为 cli 更改 .ini 文件的位置

编辑:为了简单起见,我创建了指向 apache2 php.ini 的符号链接,以确保两者都使用相同的 php.ini。

【问题讨论】:

  • 检查两者是否使用相同的ini文件
  • 最简单。只需删除(备份)cli ini 并将符号链接放置到您需要的ini。
  • @bansi:是的。我相信它会那样工作。不确定最佳实践与否。对php不是很熟悉。
  • 不知道你为什么想要这个。您还可以使用 CURL 来获取脚本中真实 PHP url 的输出。这样你就可以完全避免 cli
  • 那么您也可以 CURL 到本地服务器而不是 cli,我建议您这样做,因为这是您的 Web 服务器将使用的确切配置。

标签: php php-ini phpinfo


【解决方案1】:

有两个不同的 php.ini 文件。

/etc/php5/apache2/php.ini 用于 Web,/etc/php5/cli/php.ini 用于命令行。

您需要根据上下文编辑相应的ini文件。如果您在 cli 和 web 中需要相同的 ini 值,显然您需要同时编辑两者。另外不要忘记在编辑ini文件后重新启动apache(service apache2 restart)以查看更改。

【讨论】:

  • 我认为Systemd 已经接管SysVinit +1 以解决实际问题
猜你喜欢
  • 2023-04-07
  • 2018-02-16
  • 2010-10-24
  • 2012-03-25
  • 1970-01-01
  • 2015-02-13
  • 1970-01-01
  • 1970-01-01
  • 2016-03-18
相关资源
最近更新 更多