Отключение magic_quotes_gpc - PullRequest
       11

Отключение magic_quotes_gpc

0 голосов
/ 05 октября 2010

У меня есть сайт, локально настроенный.Это фреймворк для разработки приложений - Kohana.

У меня ошибка при отображении следующего:

Unknown Error

An error was detected which prevented the loading of this page. If this problem persists, please contact the website administrator.

system/core/Kohana.php [98]:

Function set_magic_quotes_runtime() is deprecated
Stack Trace

    * system/core/Kohana.php [98]:

      set_magic_quotes_runtime(  )

    * system/core/Bootstrap.php [39]:

      Kohana::setup(  )

    * index.php [130]:

      require( system/core/Bootstrap.php )

Loaded in {execution_time} seconds, using {memory_usage} of memory. Generated by Kohana v{kohana_version}.

Другой ведущий разработчик этого проекта сказал мне отключить magic_quotes в моем php.ini ..
IЯ использую MAMP, и я сделал это.

Проблема все еще очевидна ... какие-либо подсказки относительно того, чем вызвана эта ошибка, как ее обойти?

Еще один быстрый момент, который нужно отметить, при выводе phpinfo() я получаю следующее:

local value Off
Master Value On

Нужно ли отключить мастер-значение?Если так, то как?

Ответы [ 3 ]

1 голос
/ 06 октября 2010

Вы используете PHP 5.3 и, поскольку magic_quotes устарели в PHP 5.3 и будут удалены.все функции, которые изменяют этот параметр ini, выдают ошибку.

Быстрое решение: перейдите в строку 98 файловой системы / core / Kohana.php и закомментируйте set_magic_quotes_runtime

или переключитесь на PHP 5.2.10

0 голосов
/ 06 октября 2010

Возможно, вы используете PHP 5.3.x.
Если у вас есть доступ на запись к вашему php.ini, вы можете попробовать настроить запись конфигурации error_reporting, чтобы скрыть такие E_DEPRECATED предупреждения.

Пример (пробег может отличаться ...):

error_reporting = E_ALL & ~E_NOTICE & ~E_DEPRECATED

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

См.также

РЕДАКТИРОВАТЬ:
Это исправит симптом, а непричина (редактирование файла Kohana), но лично я не люблю исправлять сторонние библиотеки, потому что вам придется делать это для каждого нового выпускаемого вами обновления, если только новый выпуск не работает в том самом аспекте, который исправление собирается исправить.

РЕДАКТИРОВАТЬ 2:
Чтобы устранить причину, вы можете заменить set_magic_quotes_runtime([VALUE]) на ini_set('magic_quotes_runtime', [VALUE]).

Это, вероятно, безопаснее, чем просто удаление вызова, потому что, хотя функция устарела, она все равно может повлиять на поведение программного обеспечения, если его опустить (если установка PHP имеет magic_quotes_runtime enabled).

Возможно, вы также захотите проверить наличие более новой версии Kohana, в которой это исправлено.

Обратите внимание, однако, что обновление каркаса должно выполняться с особой тщательностью.и расширенное тестирование, чтобы гарантировать, что все продолжает работать как ожидалось.

0 голосов
/ 06 октября 2010

Вы можете просто закомментировать вызов set_magic_quotes_runtime () в строке 98 в system / core / Kohana.php

...