我对服务器php配置文件的访问非常有限。
当我运行一些涉及编写日志文件的cron脚本时,我收到类似这样的警告
Comments starting with '#' are deprecated in /etc/php5/cli/conf.d/ming.ini on line 1 in Unknown on line 0
我google了很多才找到原因,我知道我们需要用';'替换'#'在ming.ini文件中。
我告诉我的服务器管理员解决此问题
下面是我得到此修复的链接
How to fix: PHP Deprecated errors
后来,对于一些脚本问题得到修复但是对于其中一些我在不同的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这是一种常见行为吗我需要将这些评论从“#”更改为“;”在每个文件中。
OR是PHP 5.4的问题。
如果您有或轻松地在应用程序级别(代码)中避免此错误,请提供任何信息
提前感谢您阅读这篇文章
答案 0 :(得分:86)
您可以使用以下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 ,它取代任何{{ 1}} #
注释行文字。
答案 1 :(得分:26)
你需要找到以'#'开头的行。在您的php.ini文件中,将其更改为';'
答案 2 :(得分: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 / location。
sudo cp /usr/share/php5/php.ini-production /etc/php5/apache2/php.ini
希望它有效。
答案 3 :(得分:0)
在我的情况下,我不得不解析mysql.ini和php.ini文件。 您无法控制这些文件中注释的使用方式,因此我仅针对该行抑制了警告。
$parse_sections = true;
$cfg = @parse_ini_file($file, $parse_sections);
我确信有一种方法是逐行读取文件,替换'#"注释然后使用parse_ini_string()来解析整个事情,但这会增加一些开销。
答案 4 :(得分:-5)
您可以尝试设置PHP error_reporting配置,如下所示:
ini_set("error_reporting", E_ALL & ~E_DEPRECATED);
然而,这只是一个临时修复。获得这样的警告意味着对于某些更高版本的PHP,它将不再起作用,因为配置文件将被视为无效。更好地联系你的主机并要求他们解决它;不应该太难。