Latest Posts

Лимиты на загрузку файлов в 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! — решение 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 минут — 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

Access Control Yii2 + анонимная функция

Access Control Yii2 + анонимная функция

В Yii2 появилась возможность повесить свою бизнес логику в виде анонимной функции для контроля доступа к странице.
Теперь вы можете делать какие-то действия и возвращать либо true либо false для доступа к странице.

Сделать это можно следующим образом:

public function behaviors()
    {
        return [
            'access' => [
                'class' => AccessControl::className(),
                'rules' => [
                    [
                        'actions'=>['index','view','create','update','delete'],
                        'allow' => true,
                        'roles' => ['@'],
                        'matchCallback' => function ($rule, $action) {
                            return (Yii::$app->user->identity->login=="superuser");
                        }
                    ],
                ],
            ],
        ];
    }

В данном коде мы добавляем в список поведение AccessControl, прописываем actions и ставим анонимную функцию на matchCallback.

Read more

Шаблоны ActiveForm в Yii2

Шаблоны ActiveForm в Yii2

Шаблон формы ActiveForm в Yii2 с возможностью задания шаблона вывода полей, списков из базы данных, списков из готового массива значений.

<?php
$form = \yii\widgets\ActiveForm::begin([
  'fieldConfig' => [
  'template' => "<div> {label} </div> <div>{input} {error}</div>\n",
  'labelOptions'=>['class' => 'control-label'],
  ],
]);
?>

<?= $form->field($model, 'name')->textInput(['class'=>'field class']) ?>
<?= $form->field($model, 'hiddenname')->hiddenInput(['value'=>'some value'])?>
<?= $form->field($model, 'user_id')->dropDownList(\yii\helpers\ArrayHelper::map(\app\models\User::find()->all(), 'id', 'login')) ?>
<?= $form->field($model, 'type')->dropDownList(['0'=>'Ноль','1'=>'Один']) ?>
<?= $form->field($model, 'agree')->checkbox(['class'=>'example','template'=>'<tr><td class="fr">{label} </td><td>{input} {error}</td>'])->label('Согласен с правилами сервиса') ?>
<?= Html::submitButton($model->isNewRecord ? 'Создать' : 'Обновить', ['class' => $model->isNewRecord ? 'btn btn-success' : 'btn btn-primary']) ?>
<?php ActiveForm::end(); ?>

Для каждого  field можно определить свой template вывода как в примере с checkbox.

Read more

SSH ключи + DigitalOcean доступ

SSH ключи + DigitalOcean доступ

1. Создаем SSH ключ:

ssh-keygen -t rsa

2. Получаем SSH публичный ключ:

cat ~/.ssh/id_rsa.pub

3. Теперь для настройки аутентификации по SSH на вашем сервере делаем команду (не забываем написать IP адрес сервера):

cat ~/.ssh/id_rsa.pub | ssh root@[your.ip.address.here] "cat ~/.ssh/authorized_keys"

Leave a Comment

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

Read more