通过CLI获取“以'#'开头的评论被弃用”消息

我有一个非常有限的访问服务器PHPconfiguration文件。

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

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

我search了很多,find原因,我知道我们需要用';'replace'#' 在ming.ini文件中。

我通知我这个服务器pipe理员来解决这个问题

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

如何解决:PHP已弃用的错误

后来,对于一些脚本问题得到解决,但对于其中一些我开始在不同的PHPconfiguration文件中得到相同的错误

例如

 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

这是一个通常的行为,我需要将这些评论从“#”更改为“;” 在每个文件中。

OR是PHP 5.4的一个问题。

请提供任何信息,如果您有一个简单的方法来避免在应用程序级别(代码)

提前感谢阅读这篇文章

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

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

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

你需要在你的php.ini文件中find以'#'开头的行,并将其改为';'

它显示在你的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 / location。

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

希望它的作品。

在我的情况下,我不得不parsingmysql.ini和php.ini文件。 您不能控制这些文件中的注释是如何使用的,所以我只是针对该行压缩了警告。

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

我确信有一种方式是逐行读取文件,replace“#”注释,然后使用parse_ini_string()来parsing整个事情,但这会增加一些开销。

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

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

但是, 这只是一个临时的解决办法 。 像这样得到一个警告意味着,对于一些更高版本的PHP,它将不再工作,因为configuration文件将被视为无效。 更好的控制你的主机,并要求他们修复; 不应该太困难。