43

我对服务器 php 配置文件的访问权限非常有限。

当我运行一些涉及写入日志文件的 cron 脚本时,我收到这样的警告

Comments starting with '#' are deprecated in /etc/php5/cli/conf.d/ming.ini on line 1 in Unknown on line 0

我搜索了很多以找到原因,我知道我们需要用 ';' 替换 '#' 在 ming.ini 文件中。

我将此通知给我的服务器管理员以解决此问题

下面是我得到这个修复的链接

如何修复:PHP 已弃用的错误

后来,对于一些脚本问题得到了修复,但对于其中一些我开始在不同的 php 配置文件中遇到相同的错误

例如。

PHP Deprecated:  Comments starting with ‘#’ are deprecated in /etc/php5/cli/conf.d/imagick.ini on line 1 in Unknown on line 0

PHP Deprecated:  Comments starting with ‘#’ are deprecated in /etc/php5/cli/conf.d/imap.ini on line 1 in Unknown on line 0

实际上是什么问题,下面是我的服务器规范

操作系统:ubuntu 12 php:5.4

这是一种常见的行为吗?我需要将这些注释从“#”更改为“;”吗?在每个文件中。

或者这是 PHP 5.4 的问题。

如果您有任何信息或避免在应用程序级别(代码)出现此错误的简单方法,请提供任何信息

提前感谢您阅读这篇文章

4

5 回答 5

89

您可以使用以下 shell 命令修补注释:

find /etc/php5/cli/conf.d/ -name "*.ini" -exec sed -i -re 's/^(\s*)#(.*)/\1;\2/g' {} \;

它基本上找到/etc/php5/cli/conf.d/.ini下的所有文件并在其上执行sed,它将任何注释行文字替换为.#;

于 2013-02-09T08:18:04.497 回答
30

您需要在 php.ini 文件中找到以 '#' 开头的行并将其更改为 ';'

于 2013-08-25T14:58:39.873 回答
1

它表明在您的 php.ini 文件中有一些错误。要解决它,您可以使用以下命令加载默认的 php.ini 文件。

它会将您以前的 php.ini 文件重命名为 php.ini_old。

sudo mv /etc/php5/apache2/php.ini /etc/php5/apache2/php.ini_old

它会将默认的 php.ini 文件复制到 /etc/php5/apache2/ 位置。

sudo cp /usr/share/php5/php.ini-production /etc/php5/apache2/php.ini

希望它有效。

于 2017-04-24T04:42:16.083 回答
0

就我而言,我必须解析 mysql.ini 和 php.ini 文件。您无法控制这些文件中注释的使用方式,因此我仅针对该行禁止了警告。

$parse_sections = true;
$cfg = @parse_ini_file($file, $parse_sections);

我确信有一种方法是逐行读取文件,替换“#”注释,然后使用 parse_ini_string() 解析整个内容,但这会增加一点开销。

于 2017-05-30T14:32:46.980 回答
-5

您可以尝试设置 PHP error_reporting 配置,如下所示:

ini_set("error_reporting", E_ALL & ~E_DEPRECATED);

但是,这只是临时修复。收到这样的警告意味着对于更高版本的 PHP,它将不再工作,因为配置文件将被视为无效。最好联系您的主机并要求他们修复它;应该不会太难。

于 2013-01-30T14:20:42.360 回答