php

docker Запросы выполняются медленнее чем без докера

Проблема

После переезда в докер запросы стали выполняться очень долго (минимум по 3 секунды лишних на каждый вопрос). При этом докер запускался в ubuntu linux, где накладные расходны на сам докер должны быть минимальными.

Что оказалось

Оказалось, что проблема была в том, что в сборке использовалась конфигурация xdebug (в конфиге ниже это файл config/php/xdebug.ini) в которой было включен автозапуск (xdebug.remote_autostart=1), чтобы исправить ситуацию переключили на 0:

xdebug netbeans Отладка в терминале (консоли)

Предположим, что вы уже умеете настраивать запуск xdebug через локальный сервер.

В нашем случае хотелось посмотреть поотлаживать код, который запускался в режиме командной строки (автотесты с помощью codeception),

моя исходная команда в папке проекта была (в терминале):

codeception unit Пример теста с @depends


<?php

use ItForFree\rusphp\Common\Phone\PhoneNumber\RussianPhoneNumber;

class RussianPhoneNumberTest extends \Codeception\Test\Unit
{
    /**
     * @var \UnitTester
     */
    protected $tester;

    protected function _before()
    {
    }

    protected function _after()
    {
    }
    
    /**
     *
     * @var array массив массивов
     * исходный номер | чистый вид | tel: вид | является ли внутренним
     */
    protected  $testPhones = [
            ['+7 (945) 345 67 89', '+79453456789', '+79453456789', false],

php FPM Перезагрузка в Ubuntu Linux, команда

Команда перезапуска службы имеет вид вроде:

sudo service php7.3-fpm restart

где:

  • php7.3-fpm -- имя вашей службы и зависит от версии интерпретатора php (т.е. у вас это имя может быть другим)
  • также вы можете узнать имена установленных служб (в списке будут и php fpm)

ubuntu linux Где находится файл php.ini

Все зависит от того как именно у вас установлен интерпретатор PHP:

  • Если как модуль сервера Apeche, то скорее путь может выглядеть как:
    /etc/php/версияпхп/apache2/php.ini

    например:

    /etc/php/5.6/apache2/php.ini
  • Если как fpm-служба:
    /etc/php/версияпхп/fpm/php.ini
    

    например:

PDO setAttribute ATTR_ERRMODE, ERRMODE_EXCEPTION значение атрибутов

Рассмотрим данную функцию из ядра SimpleMVC, файл ..\ItForFree\SimpleMVC\mvc\Model.php

php Конкатенация путей к файлу/папке

Установив пакет, используйте Path::concat() выполнит конкатенацию, добавив/убрав если нужно слеши:

use ItForFree\rusphp\File\Path;

$fullPath = Path::concat(
      ['file/my/', '/folder/to/folder', 'path/to/my.png'],
        '/'
);

Цитата из теста:

php mime types Получить все типы по списку массиву расширений

С помощью пакета:

use ItForFree\rusphp\File\MIME;

$mimeTypes = MIME::getAllbyExtentions(['png', 'jpg']);

Pages

Subscribe to RSS - php