Как я могу заменить устаревший set_magic_quotes_runtime в php? - PullRequest
58 голосов
/ 07 февраля 2010

Я получаю это сообщение, когда пытаюсь запустить скрипт php, который я должен использовать, но не написал.

Deprecated: Function set_magic_quotes_runtime() is deprecated in /opt/lampp/htdocs/webEchange/SiteWeb_V5/inc/fpdf.php on line 1810

Вот строка 1810:

set_magic_quotes_runtime(0);

Если это устаревшая функция, чем я могу заменить ее?

Большое спасибо!

Ответы [ 10 ]

68 голосов
/ 07 февраля 2010

Проверьте, включен ли он первым.Это должно избавить от предупреждения и убедиться, что если ваш код работает на старых версиях PHP, то магические кавычки действительно отключены.

Не просто удаляйте эту строку кода, как предлагают другие, если вы не можете быть на 100% уверены, что код никогда не будет выполняться на чем-либо до PHP 5.3.

<?php
// Check if magic_quotes_runtime is active
if(get_magic_quotes_runtime())
{
    // Deactivate
    set_magic_quotes_runtime(false);
}
?>

get_magic_quotes_runtime НЕ рекомендуется в PHP 5.3.
Источник: http://us2.php.net/get_magic_quotes_runtime/

20 голосов
/ 24 ноября 2011

Я использовал FPDF v. 1.53 и не хотел обновляться из-за возможных побочных эффектов.Я использовал следующий код в соответствии с Yacoby:

Строка 1164:

if (version_compare(PHP_VERSION, '5.3.0', '<')) {
    $mqr=get_magic_quotes_runtime();
    set_magic_quotes_runtime(0);
}

Строка 1203:

if (version_compare(PHP_VERSION, '5.3.0', '<')) {
    set_magic_quotes_runtime($mqr);
}
6 голосов
/ 07 февраля 2010

Поскольку Magic Quotes теперь отключен по умолчанию (и запланирован для удаления), вы можете просто удалить этот вызов функции из своего кода.

5 голосов
/ 07 февраля 2010
ini_set('magic_quotes_runtime', 0)

Я думаю.

4 голосов
/ 25 февраля 2011

Обновление до версии 1.6 FPDF.

4 голосов
/ 07 февраля 2010
2 голосов
/ 23 мая 2013

Необходимо добавить префикс "@" перед функцией, чтобы она была @set_magic_quotes_runtime (0); Больше не поддерживается в php 5.4, и не удаляйте и не отключайте функцию

1 голос
/ 08 июня 2013

добавьте этот код в начало вашего скрипта для решения проблемы

@set_magic_quotes_runtime(false);
ini_set('magic_quotes_runtime', 0);
0 голосов
/ 24 апреля 2019

В PHP 7 мы можем использовать:

ini_set('magic_quotes_runtime', 0);

вместо set_magic_quotes_runtime(0);

0 голосов
/ 16 января 2019

Обновить эту функцию:

if (version_compare(PHP_VERSION, '5.3.0', '<')) {
  set_magic_quotes_runtime(0);
}
else {
  ini_set('magic_quotes_runtime', 0);
}
$magic_quotes = get_magic_quotes_runtime();
$file_buffer = fread($fd, filesize($path));
$file_buffer = $this->EncodeString($file_buffer, $encoding);
fclose($fd);
if ($magic_quotes) {
  if (version_compare(PHP_VERSION, '5.3.0', '<')) {
    set_magic_quotes_runtime($magic_quotes);
  }
  else {
    ini_set('magic_quotes_runtime', $magic_quotes);
  }
}

return $file_buffer;
...