Intereting Posts
В чем разница между echo и printf Как установить корень документа как подкаталог с использованием .htaccess, а не VHost Выполнить PHP-код в строке Сценарий для записи файла htaccess с добавлением фантомного неизвестного символа, вызывающего ошибку 500 Логические операторы Twig оценивают оба выражения? Как отключить ошибки mysql от отображения на экране в CodeIgniter Как загрузить файлы с помощью инструментов HTTP и командной строки? Получить имя машины клиента в PHP Laravel routes.php становится большим Как предотвратить расширение DOMXPath объектов HTML? Лучший способ получить карту всех пикселей изображения с помощью GD PHP включает в себя пробел в верхней части страницы Выпадающее значение в codeigniter с использованием массива как значений Что такое Layout и что такое View в ZF? Когда и какие переменные следует использовать и почему? Как считывается массив в цикле foreach PHP?

ModX Evo: ошибка PHP в документе document.parser.class.inc.php

Так что мой сайт Evo перестал работать на днях – только что получил 500 ошибок. Я получил мой хост, чтобы проверить журналы и нашел это:

[error] PHP Fatal error: Cannot redeclare insert_metka() (previously declared in /home/mysite/public_html/manager/includes/document.parser.class.inc.php(790) : eval()'d code:2) in /home/mysite/public_html/manager/includes/document.parser.class.inc.php(790) : eval()'d code on line 12 

Я устал комментировать строку нарушения и удалить весь файл безрезультатно. Кто-нибудь знает, что это значит и как это исправить?

EDIT: код в строке 790:

  eval ($pluginCode); 

    Related of "ModX Evo: ошибка PHP в документе document.parser.class.inc.php"

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

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

    Проблема, вероятно, будет решена путем упаковки объявления insert_metka() следующим образом:

     if(!function_exists('insert_metka')) { function insert_metka() { // function code } } 

    http://wiki.modxcms.com/index.php/Creating_Snippets#Wrap_functions_inside_.21function_exists_conditional_if_the_resource_is_needed_to_run_more_than_once_on_a_page

    Это кажется очень простой проблемой. Вы объявляете insert_metka() два раза. Удалите его из одного из указанных файлов. Как только он объявлен в сохраненном файле и, видимо, второй раз вы пытаетесь объявить его с помощью eval()

    Cannot redeclare insert_metka() говорит, что вы дважды объявляете функцию (может быть, с вашими оценками).

    Вы должны проверить свои включенные файлы.

    Чтобы не включать более одного раза, вы можете использовать include_once или requiere_once вместо include и requiere

    Соглашаясь на document.parser.class.inc.php эту строку, я думаю, вы используете OOP .

    Итак, что вы можете сделать, это создать класс создания instantiation для class выше, а затем overwrite его.

    Есть и другие вещи. вы можете declaring одну и ту же функцию внутри одного class .