无法使用我的 php.ini 文件中设置的常量

Cannot use the constants set in my php.ini file

注意:根据我对 phpinfo 的调用,我正在使用 Apache2 处理程序在 Linux 上的 PHP 7.4.6 中工作。 同一个调用验证是否设置了一堆常量:precision, session.cookie_lifetime, odbc.max_persistent 和许多其他人。

不过,在我的代码中,如果我说:

echo precision;

echo session.cookie_lifetime;

我收到的不是它们的值,而是警告。上面的最后一行生成 2 个警告:

警告: 使用未定义的常量会话 - 假定 'session'(这将在 PHP 的未来版本中引发错误)在 /srv/www/htdocs/secure/docs/shine/pledgedrive/inc-common.php 第 10

警告: 使用未定义常量 cookie_lifetime - 假定 'cookie_lifetime'(这将在 PHP 的未来版本中引发错误)在第 10/srv/www/htdocs/secure/docs/shine/pledgedrive/inc-common.php 行

我的问题是:“我做错了什么?”或者“为什么我不能要求这些常量?”或“我需要一种新的方式来请求它们吗?”

您想从 php 获取 ini 参数。但是您将 ini 名称称为常量。您想要使用的方式是 php 与您的问题无关的常量

您使用的方式适用于此示例:

<?php

// pre defined constant sample
echo PHP_VERSION;

// custome constant sample
define('precision', 'Very high');
echo precision; // printing your name "Very high"

?>

但根据您的需要,您应该使用“ini_get”功能。

首先在你的ini文件中定义你的ini参数:

precision = "Very high"

最后使用“ini_get”获取它:

echo ini_get('precision');

并且您可以使用“ini_set”在您的 ini 中设置现有参数。

注意:ini中不能设置non-exists参数与“ini_set”