Latest Posts

Codeship build + Yii2

Codeship build + Yii2

Ниже представлен пример сборки билда и прогона codeception тестов для проекта Yii2. Далее после прогона тестов и завершения сборки вы можете выгрузить свой артефакт на S3 либо на FTP(SFTP) сервера через CI сервис Codeship.

Пример команд сборки:

# We support all major PHP versions. Please see our docs for a full list
# https://documentation.codeship.com/languages/php/
phpenv local 5.6
# update phpunit
composer global remove "phpunit/phpunit" --update-with-dependencies
composer global require "phpunit/phpunit=4.*"
# == install composer global dependencies
composer global require "fxp/composer-asset-plugin:~1.1.4"
composer global require "codeception/codeception=2.1.*" "codeception/specify=*" "codeception/verify=*"
# == install project ==
composer install --prefer-source --no-interaction

Пример команд тестов:

Read more

Deployer.php обновленный рецепт для Yii2-basic

Deployer.php обновленный рецепт для Yii2-basic

Deployer.php — это система деплоя вашего php кода, написанная на PHP.

Представляет она из себя набор готовых «рецептов», которые вы можете использовать и автоматически доставлять ваш код на нужные вам машины.

Для проекта, написанного на Yii c шаблоном basic я немного модифицировал рецепт и теперь он выглядит как-то так:

Read more

Unit тестирование FileUpload модели в Yii2

Unit тестирование FileUpload модели в Yii2

Простейший тест для проверки валидации формы с файлами  под Yii2.
Требуется поместить в папку _data тестов тестовый файл чтобы можно было проводить сравнения.

public function testUpload()
{
  $fileUploader = new FileUploaderForm();

  $uploadedFile = new UploadedFile();
  $uploadedFile->name = "test.jpg";
  $uploadedFile->tempName = __DIR__."/../_data/test.jpg";
  $uploadedFile->type = "image/jpg";
  $uploadedFile->size = 1024;

  $fileUploader->documentFile = $uploadedFile;
  $fileUploader->validate();
  $this->assertTrue($fileUploader->validate());
}

 

Read more

Composer update

Composer update

Composer жрет очень много памяти на машине, и в случае если машина имеет памяти не так много он будет вечно обрываться с надписью Killed.

Проще всего сделать на локальном dev компьютере:

composer update

Затем перетащить на сервер composer.lock и просто запустить:

composer install

 

Leave a Comment

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

Read more

Новая версия скрипта выдачи Bitcoin

Новая версия скрипта выдачи Bitcoin

Теперь вы можете сами установить на своем сервере и подключить скрипт удвоитель биткойн совершенно бесплатно!
Core ядро доступно на Github: https://github.com/Sassoft/Cryptocoin

Для установки достаточно прочитать инструкции в README.md

Скрипт создан на базе фреймворка Yii 2.0.*

Для работы с BTC используется библиотека от Blockchain.

2 Comments

  1. Олег

    Приветствую вас коллега :-))
    Подскажите пожалуйста в чём вопрос скрипт закинул на хост,прописал всё как сказано в файле README.md за исключением данных от блокчейн,далее http://ваш_сайт/install но току ноль,в чём вопрос? версия ПХП 5.4

    Read more

PHPStorm+PHPUnit в Yii2 — удобный вывод тестов

PHPStorm+PHPUnit в Yii2 — удобный вывод тестов

В PhpStorm в саму IDE встроена панель тестирования phpunit тестов. Но зная что в Yii2 сразу из коробки идет Codeception, который включает в себя также и сам phpunit и плюс дополнительный более удобный метод написания тестов, вывод самих unit тестов не совсем удобный. Для запуска codeception тестов нужно создать консольный скрипт и вывод результатов теста будет также через консоль. Хотелось бы иметь возможность прямо из PhpStorm запускать юнит тесты как по одному классу так и только один метод одного класса.

Read more

Ошибка 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