Для отладки или выполнения какого то разового кода иногда требуется выполнить php код в системном окружении вашего сайта на Drupal.
Без drush приходится добавлять код вроде следующего в файл темы (а в последствии его удалять от туда):
1 2 3 4 5 6 7 |
// где то в начале template.php... if ($_GET['key'] == 'execute') { // далее идет какой то ваш код, который требуется выполнить, // если вы передали специфический внешний параметр ... } |
Такой и похожие подходы могут доставлять неудобства и раздражать просто сами по себе, как и любой другой отладочный код.
DRUSH php-eval, php-script
Простая альтернатива — выполнить нужную команду через утилиту drush.
1 2 |
# например, очистим кеш меню (вместо вызова drush cc menu) drush php-eval "cache_clear_all('*', 'cache_menu', TRUE);" |
Если требуется выполнить серию команд, уже удобнее пользоваться файлом со скриптом, который следует передать следующей директиве drush:
1 2 3 |
# запустим php скрипт в окружении переменных сайта. # для myfile.php указывать расширение .php не обязательно. drush php-script myfile |
Помимо этого, php файл можно запустить напрямую из оболочки командного процессора, если указать в начале файла в качестве обработчика утилиту drush:
1 2 3 |
#!/usr/bin/env drush // далее идет PHP код, который требуется выполнить ... |