Drupal devel выполнить php

Drupal → Модуль Devel — инструмент девелопера

Devel — это набор функций, которые упрощают разработку, отладку и оптимизацию Drupal сайтов.

  • Выводить информацию о переменных в удобном виде (скриншот).
  • Показывать список sql запросов, выполненных при генерации страницы (скриншот). В списке выводится сам запрос, время выполнения, функция, в которой был вызван запрос, информация об аргументах и возможность просмотреть EXPLAIN запроса (скриншот). Есть опция подсветки медленных запросов и возможность отсортировать список по времени выполнения. Видео.
  • Выводить информацию о времени затраченном на генерацию страницу и количестве используемой памяти (скриншот).
  • Генерировать контент — материалы, пользователей, словари и термины.
  • Быстро очищать кэш из меню ( devel/cache/clear ).
  • Быстро перестроить информацию о меню из меню 🙂 ( devel/menu/reset ).
  • Быстро запускать крон из меню ( devel/run-cron ).
  • Выводить информацию обо всех сущностях используемых на сайте (скриншот).
  • Выводить информацию обо всех полях используемых на сайте (скриншот).
  • Выводить информацию из hook_menu о текущей странице (Пункт Menu item в блоке Development) (скриншот). Из этой информации можно узнать какая функция вызывается при генерации открытой странице, аргументы, title callback, access callback и т.д.
  • Выводить подробную информацию о нодах (скриншот).
  • Выполнять PHP код из админки (скриншот).
  • Выводить phpinfo().
  • Переустанавливать модули (т.е. отключить → удалить → включить).
  • Выводить информацию хранящуюся в переменной $_SESSION текущего пользователя (скриншот).
  • Выводить информацию обо всех зарегистрированных хуках темизации, их preprocess и process функциях devel/theme/registry (скриншот).
  • Редактировать/удалять переменные созданные с помощью variable_set() (скриншот).
  • Работать с профайлером XHProf.
Читайте также:  Java set to list string

Модуль имеет свой блок с ссылками на часто используемые функции (скриншот).

В общем и целом — must have! Первый контриб модуль, который должен быть поставлен на свежеустановленный Drupal 🙂

Комментарии

Вот я и узнал о сем модуле в подробностях))
Выходит если наловчится его юзать, еще тот инструментец))

Спасибо за такой хороший мануал!

А как его использовать не написали..

реально, как работать не сказанно.

Здравствуйте. Выложите пожалуйста ссылку на инструкцию по использованию модуля.
С уважением.

У этого модуля есть вкладка token, а как их использовать в php коде? точнее можно ли с помощью php кода выводить информацию задействованную в токенах?

спс=)
немного погуглив нашел вот такой способ —

вставлять как сниппет в шапку вьюса, то вместо

Источник

Drupal devel выполнить php

Выполнить PHP-код в среде Друпала.

Решение

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

Варианты

Выполнить код (сниппет) можно:

  • В блоке
  • В блоке Execute PHP модуля Devel
  • На странице
  • Отдельном файле

В блоке

Блок позволяет гибко ограничить доступ для разных ролей, а также выводить блок на определённых страницах или только на какой-то одной.
Недостатки метода в том, что:

  • Для того, чтобы увидеть работу кода нужно сохранить блок. Если что-то нужно изменить, то в отличии от страниц, где есть предпросмотр, — блок нужно будет снова открывать и сохранять.
  • Код в блоке, для которого не выставлены ограничения видимости, может сделать весь сайт недоступным. В этом случае нужно выключить блок, используя SQL-сниппет.

Для выполнения кода нужно установить формат ввода: PHP.

На странице

  • Для страницы нет возможности, в отличии от блока, гибко задавать права доступа и область видимости.

Преимущество страницы перед блоком в том, что:

  • У страниц есть предпросмотр, который позволяет получить результат работы кода (сниппета) без сохранения документа. Это удобно тем, что можно делать отладку и коррекцию кода, а также можно вообще не сохранять документ, если код не нужен постоянно.
  • Если в коде страницы оказалась ошибка, то весь сайт остаётся работоспособным, как и админ-часть, где можно просто удалить «сломанную» страницу. Код в блоке, для которого не выставлены ограничения видимости, может сделать весь сайт недоступным. В этом случае нужно выключить блок, используя SQL-сниппет.

    Для выполнения кода нужно вставить этот код в тело блока с обязательными тегами:

В блоке Execute PHP модуля Devel

Для этого способа нужен установленный модуль Devel.
Работает также как и вставка кода в блок (см. выше).

Отдельном файле

Для этого метода нужен доступ к файлам сайта.

  • Создать файл с расширением «.php» в папке, которая видна веб-серверу
  • Вставить в новый файл код:

//Если файл не в корне веб-сервера, то нужно исправить путь:
require_once ‘./includes/bootstrap.inc’ ;
drupal_bootstrap ( DRUPAL_BOOTSTRAP_FULL ) ; //код, который нужно выполнить.
?>

Вывод

  • Для отладки кода лучше использовать вставку в тело страницы.
  • Если нужно ограничить доступ к коду — лучше использовать код в блоке.
  • Файл можно использовать только, если есть доступ к файлам.

Источник

Выполнить PHP-код на сайте

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

Варианты

Выполнить код (сниппет) можно:

  • В блоке
  • В блоке Execute PHP модуля Devel
  • На странице
  • Отдельном файле

В блоке

Блок позволяет гибко ограничить доступ для разных ролей, а также выводить блок на определённых страницах или только на какой-то одной.
Недостатки метода в том, что:

  • Для того, чтобы увидеть работу кода нужно сохранить блок. Если что-то нужно изменить, то в отличии от страниц, где есть предпросмотр, — блок нужно будет снова открывать и сохранять.
  • Код в блоке, для которого не выставлены ограничения видимости, может сделать весь сайт недоступным. В этом случае нужно выключить блок, используя SQL-сниппет.

Для выполнения кода нужно установить формат ввода: PHP.

На странице

  • Для страницы нет возможности, в отличии от блока, гибко задавать права доступа и область видимости.

Преимущество страницы перед блоком в том, что:

  • У страниц есть предпросмотр, который позволяет получить результат работы кода (сниппета) без сохранения документа. Это удобно тем, что можно делать отладку и коррекцию кода, а также можно вообще не сохранять документ, если код не нужен постоянно.
  • Если в коде страницы оказалась ошибка, то весь сайт остаётся работоспособным, как и админ-часть, где можно просто удалить «сломанную» страницу. Код в блоке, для которого не выставлены ограничения видимости, может сделать весь сайт недоступным. В этом случае нужно выключить блок, используя SQL-сниппет.

    Для выполнения кода нужно вставить этот код в тело блока с обязательными тегами:

В блоке Execute PHP модуля Devel

Для этого способа нужен установленный модуль Devel.
Работает также как и вставка кода в блок (см. выше).

Отдельном файле

Для этого метода нужен доступ к файлам сайта.

  • Создать файл с расширением «.php» в папке, которая видна веб-серверу
  • Вставить в новый файл код:

//Если файл не в корне веб-сервера, то нужно исправить путь:
require_once ‘./includes/bootstrap.inc’ ;
drupal_bootstrap ( DRUPAL_BOOTSTRAP_FULL ) ; //код, который нужно выполнить.
?>

Вывод

  • Для отладки кода лучше использовать вставку в тело страницы.
  • Если нужно ограничить доступ к коду — лучше использовать код в блоке.
  • Файл можно использовать только, если есть доступ к файлам.

Комментарии

[subscribing] Плохо, что голосовалку убрали.

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

Владислав, напишите подробней про этот SQL-сниппет. У меня была подобная ситуация, вылечил, поправив запись в базе.

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

В какой папке лучше сохранять PHP файлы?
Как понять есть ли «доступ к файлам сайта»

Это значит, что ты можешь создавать, изменять или удалять их на сервере каким-либо образом (FTP, веб-интерфейс, etc.).

Ок, это есть конечно же — просто подумал что есть какой-то другой тип доступа к фалйам — из самого друпала.. ну не суть — спасибо!
Если я положу свой скрипт.php рядом с файлом cron.php — это нормально? — проблемм не будет? — скрипт будет каждый день запускаться по расписанию, обновлять курсы валют в спецально для них созданной sql таблице.

Проблем не будет только позаботтесь о безопасности этого скрипта, просто любой «внешний» запрос (или бот) зная имя этого скрипта сможет его запустить и тем самым например загрузить вашу систему по самое ни хочу . (кстати cron.php — это тоже касается)

А возможно ли как то сделать, чтобы ошибки, при выполнении скрипта, выводились, когда нажимаем превью (способ «На странице»)

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

добавил — как написанно в статье

всё равно ошибки не отображаются.
Скрипт находится в корневой папке сайта там же где и cron.php

error_reporting(E_ALL); покажет все ошибки

проблемма решилась добавлением в .htaccess сайта строк

Почему код не выполняется на странице?

Вставляю простой код в текстовом поле страницы в тегах . Устанавливаю php фильтр. Нажимаю препросмотр, как советует автор. И в поле препросмотра пишется текст кода на розовом фоне, а не результат его работы. Что я не так делаю?

включите модуль PHP filter

Пытаюсь ajax запрос, но в ответ получаю код из файла. Все сделал вроде бы по инструкции, а езультат нулевой, может кто подскажет куда копать?
формат ввода «PHP code»

Решил так. Все дело оказалось в путях

Файл лежал не в корне!
Правда как выполнить не из корня еще не разобрался, но это уже проще, известно куда копать.
И еще не хочет исполняться, ничего не выводит, если не вошел в систему. С этим тоже уже проще.

Источник

Devel Execute PHP Code with Syntax Highlighter

Devel is one of the most powerful modules in Drupal, and it’s one of the first modules I end up installing as a developer.

One of the less prominent features of Devel, is the Devel Execute PHP Code, which is available on your site as /devel/php. It provides a text area for entering your PHP code into. Any output (print, print_r, var_dump) is shown in a drupal_set_message.

I often use this interface to experiment with code, run one time scripts, and debug existing functions. Yes, within this block, all drupal functions, and any functions you write on your site can be executed. But it comes with it’s fair share of difficulties, and the biggest stumbling block for me, was the lack of a syntax highlighter. There were silly errors you make, which takes forever to debug, and time is always of the essence.

But all this forever changed, when PHP Execute Extended Tools came to my world. This sandbox module is available athttps://drupal.org/sandbox/DizzyC/1905296 and will change the way you thing about Devel Execute PHP. Quoting from the horse’s mouth , PHP Execute Extended Tools is meant to be an extension to Devel’s PHP Execute PHP page (/devel/php), and is compatible with Drupal 7.

Devel

PHP X Tools adds a History section to the devel execute page as well as a Saved Script section. It keeps a history off all scripts executed on the devel/php page so you can rerun or review them at any time. It also adds the ability to save and load custom scripts so you can keep a collection of scripts that you want to be able to load and rerun at any time. (Can be some testing scripts, i

Optionally it integrates with the ‘CodeMirror’ library (http://codemirror.net/) transforming the plain textarea into a lightweight code editor supporting syntax highlighting, code formatting, code folding, matching brackets, search and replace and some more.

To be honest, it’s this optional integration which gives it all it’s fanciness so it’s highly recommended. Instructions to install are clearly mentioned in the sandbox project link, and will only take minutes for you to get started.

Code away, and now the semicolon or apostrophe that you forgot, will no longer come back to bite you in the ass.

Источник

Оцените статью