Latest Posts

Ошибка PHPMyAdmin — configuration storage is not completely configured

Ошибка PHPMyAdmin — configuration storage is not completely configured

Для решения данной проблемы нужно отредактировать файл /etc/phpmyadmin/config.inc.php и прописать техническую таблицу phpmyadmin.

1) Прописываем таблицу phpmyadmin:

cd /usr/share/doc/phpmyadmin/examples
sudo gunzip create_tables.sql.gz
mysql -u root -p < create_tables.sql
mysql -u root -p -e 'GRANT SELECT, INSERT, DELETE, UPDATE ON phpmyadmin.* TO 'pma'@'localhost' IDENTIFIED BY "pmapassword"'

2) Редактируем config.inc.php:

Read more

Timezone для сервера (Ubuntu+PHP+MySQL)

Timezone для сервера (Ubuntu+PHP+MySQL)

Меняем правильную тайм зону для PHP интерпретатора.
Открываем INI конфигурацию:

/etc/php/apache2-php5.4/php.ini

Ищем запись с data.timezone и ставим нужный часовой пояс:

date.timezone = Europe/Moscow

Меняем часовой пояс на Ubuntu.
Текущая дата на сервере:

date

Текущий часовой пояс:

more /etc/timezone

Чтобы поменять часовой пояс нужно вызвать:

sudo dpkg-reconfigure tzdata

Следуйте инструкциям приложения, в конце локальное время сервера будет скорректировано.

Read more

Тестирование приватных методов в PHPUnit

Тестирование приватных методов в PHPUnit

Для тестирования приватных методов класса через PHPUnit можно воспользоваться специальным классом ReflectionClass, забрать нужный приватный метод и сделать его доступным. Все это делается динамически и при помощи таких движений можно тестировать абсолютно любые методы класса разной области видимости.
Приведем пример:

$class = new ReflectionClass('Parser');
// Метод взятия страницы приватный, его нам надо протестировать
$method = $class->getMethod('getPage');
// Ставим область видимости
$method->setAccessible(true);

$parser = new Parser(['login'=>'mylogin' , 'password'=>'mypassword']);

// Проверим что данная страница парсится
$result = $method->invoke($parser, 'http://myurl.com');

// Далее уже делаем различные asserts и так далее

 

Read more

Лимиты на загрузку файлов в php.ini

Лимиты на загрузку файлов в php.ini

Лимиты на загрузку файлов PHP необходимо искать в настройках php.ini и менять по требованию:

post_max_size = 50M

Показывает возможный объем загрузки файлов за один POST запрос.

upload_max_filesize = 50M

Показывает максимальный объем одного файла при загрузке на сервер.

memory_limit = 256M

Максимально возможное выделение памяти на выполнение работы скрипта.

Read more

Translation component для Yii

Translation component для Yii

Чтобы не упустить перевести все метки в Yii первой версии имеется соответсвующие событие OnMissingTranslation.

Оно позволяет задавать нужный handler для обработки пропущенных переводов.

 

Достаточно написать компонент для этого:

class Translation extends CApplicationComponent
{
    public static function handler($messageEvent)
    {
        Yii::log("'" . $messageEvent->message . "' => '',", 'info', $messageEvent->category . '.' . $messageEvent->language);
    }
}

 

Read more

OpenPGP и режим PHP-CLI

OpenPGP и режим PHP-CLI

При установке расширения OpenPGP скорее всего записи об установке и конфигурационные файлы будут обновлены только для настроек интерпретатора при работе через nginx, apache и тд

Расширение не ставится по умолчанию для консольной работы PHP.

Чтобы прописать пусти и настройки OpenPGP необходимо открыть php-cli / php.ini и там вручную прописать расширение и указать путь до so файла:

Read more

The partition with /var/lib/mysql is too full! &#8212; решение Ubuntu

The partition with /var/lib/mysql is too full! — решение Ubuntu

Проблема возникает когда места на диске кончается и запустить MySQL невозможно.

Нужно почистить диск, удалив старые логи, архивы и тд.

Мне помогла команда:

sudo apt-get clean

 

Leave a Comment

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Read more

Функция получения баланса любого адреса Bitcoin

Функция получения баланса любого адреса Bitcoin

При помощи сервиса Blockchain.info можно узнавать финальный баланс запрашиваемого bitcoin адреса просто обратившись через GET запрос к серверу блокчейна.

Для этого мы просто напишем функцию, которая будет отправлять запрос и выдавать json данные по финальному балансу адреса:

function getAddressInfo($address)
{
   $data = @file_get_contents('https://blockchain.info/ru/rawaddr/'.$address);
   $data = json_decode($data);
   return $data;
}

Теперь чтобы получить баланс нужно дать на вход адрес и вытащить final_balance:

Read more

Записи от которых прошло 5 минут &#8212; MySQL

Записи от которых прошло 5 минут — MySQL

SQL запрос получения выборки данных, от которых прошло 5 минут после создания:

SELECT * FROM `table` WHERE (`date` + INTERVAL 5 MINUTE) < NOW()

 

Leave a Comment

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Read more

Vagrant power off &#8212; все машины одной командой

Vagrant power off — все машины одной командой

Отключить все vagrant машины одной командой:

for VM in `VBoxManage list runningvms | awk '{ print $2; }'`; do VBoxManage controlvm $VM poweroff; done

 

Leave a Comment

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Read more