How to install Drush on cPanel Shared Hosting

How to install Drush on cPanel Shared Hosting

The Drush command-line utility is only available on platforms that have php-cli. This means that this will only work in cPanel shared hosting. Drush is not able to be installed in any 4GH Linux shared hosting account. This article is meant to assist advanced users who are already familiar with using SSH.

Drush is a command-line utility for the Drupal web application. It provides advanced functionality for powerusers who wish to manage their Drupal site via SSH. These advanced functions include rapidly clearing the Drupal cache, installing and managing additional extensions such as security modules, and being able to quickly backup, restore, and deploy Drupal sites in one location or over a network. More information on the different options available for Drush can be obtained at Drush's support site. An excellent resource for learning and using the commands included in Drush is drushcommands.org. This guide will outline how to properly install Drush to a cPanel shared hosting account, and these external resources can better assist you in using the Drush Utility

Читать

Drupal + Drush. Часто используемые команды.

Загрузка и установка сайта

Загрузка последней стабильной версии Drupal

drush dl 

Предварительный выбор версии

drush dl --select

Установка сайта со стандартным профилем

drush site-install standard --db-url='mysql://[db_user]:[db_pass]@localhost/[db_name]' --site-name=Example

Полезные опции
--account-name=admin
--account-pass=password
--clean-url
--account-mail

Загрузка модуля (в папку sites/all/modules)

drush dl modulename

Читать

Заменить русские символы на английские MySQL

Заменить русские символы на английские в поле model mysql  таблицы uc_products.

<?php
$sql = "UPDATE `uc_products`
SET model = replace(
replace(
replace(
replace(
replace(
replace(
replace(
replace(
replace(
replace(
replace(
replace(
replace(
replace(
replace(
replace(
replace(
replace(
replace(
replace(
replace(
replace(
replace(
replace(
replace(
replace(
replace(
replace(
replace(
replace(
replace(
replace(
replace(
replace(
replace(
replace(
replace(
replace(
replace(
replace(
replace(
replace(
replace(
replace(
replace(
replace(
replace(
replace(
replace(
replace(
replace(
replace(
replace(
replace(
replace(
replace(
replace(
replace(
replace(
replace(
replace(
replace(
replace(
replace(`model`
,'А','A')
,'Б','B')
,'В','V')
,'Г','G')
,'Д','D')
,'Е','E')
,'Ё','Yo')
,'Ж','Zh')
,'З','Z')
,'И','I')
,'К','K')
,'Л','L')
,'М','M')
,'Н','N')
,'О','O')
,'П','P')
,'Р','R')
,'С','S')
,'Т','T')
,'У','U')
,'Ф','F')
,'Х','Kh')
,'Ц','Ts')
,'Ч','Ch')
,'Ш','Sh')
,'Щ','Sch')
,'Ъ','')
,'Ы','Y')
,'Ь','')
,'Э','E')
,'Ю','Yu')
,'Я','Ya')
,'а','a')
,'б','b')
,'в','v')
,'г','g')
,'д','d')
,'е','e')
,'ё','yo')
,'ж','zh')
,'з','z')
,'и','i')
,'к','k')
,'л','l')
,'м','m')
,'н','n')
,'о','o')
,'п','p')
,'р','r')
,'с','s')
,'т','t')
,'у','u')
,'ф','f')
,'х','kh')
,'ц','ts')
,'ч','ch')
,'ш','sh')
,'щ','sch')
,'ъ','')
,'ы','y')
,'ь','')
,'э','e')
,'ю','yu')
,'я','ya')";
$query_r = db_query($sql);
?>

Drupal и hook_install. В модуле не выполняется hook_install

Писала модуль, в котором добавляются новые поля в таблицу, обнаружила, что при включении модуля не выполняется hook_install. Это происходит при повторном включении модуля.

А дело вот в чем:

В Drupal есть действия: install — установка модуля, disable — отключение модуля, enable — включение модуля, uninstall — удаление модуля.
Многие не замечают вкладку «Удаление» на странице модулей. и думают, что снятие чекбокса у модуля — это удаление. однако это не всегда так.
если у модуля существует hook_uninstall(), то снятие чекбокса на странице модулей приведет не к удалению (запуск hook_uninstall()), а лишь к отключению модуля (запуск hook_disable()).

Описываемая проблема как раз из области не хватки знания. Переустановка модуля это:
1. На странице модулей отключить модуль.
2. Если модуль остался на вкладке «удаление» — удалить модуль.
3. Важно: если вы изменяете схему (hook_schema()), то проверьте удалены ли таблицы вашего модуля в базе. если не удалены — делаем из бэкап и удаляем.
4. Включаем модуль снова.

Учим мат часть =))
Читать

Не работают(не разворачиваются) списки настроек в типе материалов. Drupal 6.

После обновления модулей неожиданно возникла такая дурацкая ситуация -
Не работают(не разворачиваются) списки настроек в типе материалов в Drupal 6.

Вот, собственно, картинка:

1

 

 

 

 

 

 

 

 

Погуглив, нашла это http://www.drupal.ru/node/80572 и э
Читать

Отладка кода в Drupal

Для отладки кода в drupal есть несколько вариантов:

1. Модуль Devel.

Это функции для вывода информации  о  переменных:

dpm($input, $name = NULL). Использует drupal_set_message.

dvm($input, $name = NULL)

dpr($input, $return = FALSE, $name = NULL)

dvr($input, $return = FALSE, $name = NULL)

kpr($input, $return = FALSE, $name = NULL)

dargs()

dd($data, $label = NULL)

ddebug_backtrace()

Для показывать списка sql запрос
Читать

PDOException: SQLSTATE[HY000]: General error: 2006 MySQL server has gone away

Ошибка при включении модуля Date (да и при многих другиъх ситуациях):

PDOException: SQLSTATE[HY000]: General error: 2006 MySQL server has gone away  и так далее.... весь текст приводить не буду, очень много.

Нужно просто в натройках my.ini поменять:

"max_allowed_packet" с "1m" на "16m"

Можно еще попробовать следующее:

Эта проблема - "MySQL server has gone away" - может случиться, если запрос, отправить на сервер MySQL является слишком большой. В самом деле, для меня проблема Решено, когда я поднял в MySQL max_allowed_packet настройку 1М (по умолчанию) до 32 млн. в моей my.cnf:

Оригинальный
# The MySQL server
[wampmysqld]
port = 3306
socket = /tmp/mysql.sock
key_buffer = 16M
max_allowed_packet = 1M
table_cache = 64
sort_buffer_size = 512K
net_buffer_length = 8K
read_buffer_size = 256K
read_rnd_buffer_size = 512K
myisam_sort_buffer_size = 8M
basedir=d:/wamp/bin/
Читать

Добавление кнопки Быстрый Заказ для Яндекс.Маркет в Ubercart Drupal. Сниппет

Заказчик увидел у конкурентов кнопочку "Быстрый заказ" в Яндекс.Маркете. Возжелал 🙂

Сделала сниппет. В написании модулей опыта пока мало. И времени тоже ))).
Комментарии и исправления приветствуются. Емайл не вставляет.

1. Идем в Ваш_сайт\sites\all\modules\ubercart\uc_cart
2. Открываем файл uc_cart_checkout_pane.inc.
3. Находим в нем строчки (функция function theme_address_pane($form)):

 $output .= '<div><table>';

 foreach (element_children($form) as $field) {

Заменяем на:

$output .= '<div><table>';
 //<--Яндекс быстрый заказ 
 $cntr = 0;
 //Яндекс быстрый зак

Читать

Favicon.ico и Яндекс

С некоторых пор Яндекс перестал отображать favicon.ico на моих сайтах.

Как пишет сам Яндекс:

Чтобы описать пиктограмму сайта в html-коде страниц, внутри тега <head> </head> надо разместить следующий код:

<link rel="icon" href="имя сайта/favicon.ico" type="image/x-icon">

или

<link rel="shortcut icon" href="имя сайта/favicon.ico" type="image/x-icon">

 

Простое рашение для Drupal сайта:
Читать

Функции для получения текущего адреса. Drupal

Собрала функции для получения текущего адреса. Буду дополнять если что.

Получить алиас ноды (синоним ноды):

drupal_get_path_alias($path, $path_language = '').

Функция возвращает синоним, к внутреннему пути друпала.

Параметры:

$path Внутренний путь друпала.

$path_language Не обязательный код языка, для которого выполняется поиск.
Возвращаемое значение

Синоним пути, если был найден или исходный путь, если синоним не был найден.

 

Пример:

//получим путь к ноде (алиас)
$system_path = 'node/'.$node->nid;
$current_path = drupal_get_path_alias($system_path);

&nb
Читать