• Как подключиьть ngx_http_perl_module?

    Jakim
    @Jakim
    Laravel - developer
    Тут достаточно долго обьяснять, но все же.
    1) https://nginx.org/ смотрим последнюю версию nginx 6033b6237f5fb684962257.jpeg
    2) в консоли переходим в какую-то директорию cd /home
    3) выполняем скачивание и разархивацию скачанного nginx
    wget http://nginx.org/download/nginx-1.19.7.tar.gz
    tar -zxvf nginx-1.19.7.tar.gz && cd nginx-1.19.7

    Можно посмотреть справку по configure и включить только то, что нужно в нашу сборку ./configure -help |less
    # Ошибки могущие возникнуть в процессе сборки.
    --------------------------------------------------------------------------------
    ./configure: error: the HTTP rewrite module requires the PCRE library.
    apt-get install -y libpcre++-dev
    --------------------------------------------------------------------------------
    ./configure: error: SSL modules require the OpenSSL library.
    apt-get install -y libssl-dev
    4) далее мы можем собрать необходимые модули
    ./configure --prefix=/etc/nginx --sbin-path=/usr/sbin/nginx --conf-path=/etc/nginx/nginx.conf --error-log-path=/var/log/nginx/error.log --http-log-path=/var/log/nginx/access.log --pid-path=/var/run/nginx.pid --lock-path=/var/run/nginx.lock --http-client-body-temp-path=/var/cache/nginx/client_temp --http-proxy-temp-path=/var/cache/nginx/proxy_temp --http-fastcgi-temp-path=/var/cache/nginx/fastcgi_temp --user=nginx --group=nginx --without-http_autoindex_module --without-http_ssi_module --without-http_scgi_module --without-http_uwsgi_module --without-http_geo_module --without-http_split_clients_module --without-http_memcached_module --without-http_empty_gif_module --without-http_browser_module --with-http_ssl_module --with-http_v2_module --with-http_realip_module --with-http_mp4_module --with-http_auth_request_module --with-http_stub_status_module --with-http_random_index_module --with-http_gunzip_module --with-threads --with-http_perl_module

    Должны увидеть что-то в таком формате 6033b7b23e5df176893320.jpeg

    Если сыпятся ошибки, читайте, все предусмотреть невозможно, значит не достает какой-либо Ubuntu библиотеки
    5) В п.4 мы создали Makefile и указали суммарную конфигурацию, далее можно переходить к установке
    make && make install

    ВАЖНО!!!
    Если у Вас уже установлен Nginx удалите его, скопировав предварительно содержимое папок с конфигами сайтов, сертификатов и прочего
    sudo apt-get remove nginx*
    sudo apt-get purge nginx*

    Для одной из неизвестных причин установите доп. библиотеку
    sudo apt-get install build-essential libgl1-mesa-dev
    sudo apt-get install libgl-dev libglu-dev
    sudo apt-get install libperl-dev

    После должно быть что-то такого
    6033bd82ae91c607703079.jpeg
    6) Создаем каталоги необходимые для работы сервера.
    mkdir /var/cache/nginx && mkdir /etc/nginx/conf/ && mkdir /etc/nginx/sites-enabled/ && mkdir /etc/nginx/sites-available/ && mkdir /etc/nginx/common/


    7) Выполним последние команды. Символическая ссылка и пользователю nginx, зададим командную оболочку /usr/sbin/nologin
    useradd -s /usr/sbin/nologin nginx
    ln -s /usr/sbin/nginx /bin/nginx


    8) Добавляем службу nginx.service в автозагрузку и запускаем.
    systemctl enable nginx.service
    systemctl start nginx.service


    9) FINAL!
    проверьте как работает Ваш Nginx
    systemctl status nginx
    nginx -v
    Ответ написан
    Комментировать
  • Как передать текст из формы от одного Html к другому?

    Jakim
    @Jakim
    Laravel - developer
    Я предполагаю что у вас
    var message = this.login.value;
    этот кусок кода возвращает пустоту, потому что this в этом контексте это не DOM Document и он может ничего не вернуть, точнее не возвращает то что вы ожидаете.

    Посмотрите вывод в консоли переменной this. в этом же примере

    https://jsfiddle.net/JakimOFF/2om03hwd/1/
    Ответ написан
    3 комментария
  • Как вызывать метод без параметров, а сам метод сделать с параметрами?

    Jakim
    @Jakim
    Laravel - developer
    Возможно что-то не правильно понял, НО!

    $route = new Route($url, $method); // тут по сути произошло new IndexController
    $route->run(); // здесь соответственно вызывается функция run по типу (new IndexController)->run()


    но ведь самой функции run в контроллере нет.
    Ответ написан
  • Почему тег js отображается некорректно?

    Jakim
    @Jakim
    Laravel - developer
    Изображение
    Файлы находятся почему-то в другом месте, по переходу при обновлении url срабатывает редирект.
    Возможно VPN поможет
    Ответ написан
    1 комментарий
  • Как запустить исполняемый файл PHP?

    Jakim
    @Jakim
    Laravel - developer
    Добрый день. Уточните пожалуйста где вы пытаетесь запустить. Установлен ли на сервере/компьютере вообще php. Установлены ли все зависимости? потому что данная ошибка говорит о невозможности подключить файл. А исходя из того что это ядерные функции ларавел. Возможно Вам поможет следующее

    1) в консоли зайти в корень папки Laravel cd /my_project
    2) выполните установку зависимостей composer install для большей уверености можно удалить composer.lock файл если он существует

    Дальше уже нужно смотреть по ситуации.
    Ответ написан
  • Как указать apache какую версию php использовать?

    Jakim
    @Jakim
    Laravel - developer
    Для Nginx
    cd /etc/nginx/sites-available/
    sudo nano your_domain.com
     location ~ \.php$ {
           fastcgi_pass unix:/var/run/php/php7.2-fpm.sock; # какую версию читать для сайта your_domain.com выбрать можно любую с установленых на серваке
        }

    Для Apache2
    sudo apt install php7.2 php7.2-fpm # установили php версию нужную для определенного домена
    ###
    sudo a2enmod actions fastcgi alias proxy_fcgi # Ubuntu старее 18.04
    sudo a2enmod actions fcgid alias proxy_fcgi # Ubuntu 18.04
    ###
    sudo nano /etc/apache2/sites-available/your_domain.com
    
    <VirtualHost *:80>
        ServerName your_domain.com
        DocumentRoot /var/www/your_domain_folder
        <Directory /var/www/your_domain_folder>
            Options -Indexes +FollowSymLinks +MultiViews
            AllowOverride All
            Require all granted
        </Directory>
        <FilesMatch \.php$>
            SetHandler "proxy:unix:/var/run/php/php7.2-fpm.sock|fcgi://localhost/" # версия php которая нужна на этом домене
        </FilesMatch>
    </VirtualHost>
    Ответ написан
    1 комментарий
  • События для динамически добавленных в DOM элементов?

    Jakim
    @Jakim
    Laravel - developer
    $(function() {
            $(document).on('click touchstart', '.selector', function(){ 
                console.log($(this));
            });
        });

    Ребятки, добавляем такой кусок кода в js и ловим все события как на телефоне так и на ПК, кроссбраузерно кроссплатформенно.
    Не ищите других способов, ибо кто пишет про .delegate() или .live() давно не читали доку jQuery.
    Ответ написан
    Комментировать
  • Как заставить работать Imagick, ImagickDraw и т.п. в Laravel?

    Jakim
    @Jakim
    Laravel - developer
    use Imagick;
    use ImagickDraw;
    use ImagickPixel;

    Это вообще бред
    1) phpinfo(); смотрим там пункт Imagick
    Если нету смотрим в php.ini строку extension=php_imagick.dll если нету допишите в конец списка всех extension (их там много не ошибетесь)
    2) Если ошибка при старте сервака (смотреть в логах) что нету .dll библиотеки, то выкачиваем отсюда библиотеку dll файла там выбираем ту версию php какой пользуетесь и ту разрядность, опять же ее можно увидеть в phpinfo();
    3) В скачанном архиве ищем php_imagick.dll и кладем его в папку php/PHP-ВАША_ВЕРСИЯ/ext
    ПЕРЕЗАПУСКАЕТЕ СЕРВАК!!!
    если после этого будут проблемы и ошибки пишите в комментарии, разберемся
    И укажите какой сервер у вас, название программы.
    Ответ написан
  • Как заставить работать встроенный в локальный сервер Open Server модуль Imagick?

    Jakim
    @Jakim
    Laravel - developer
    Если работаете в CMS используйте константу к примеру DIR_IMAGE -OpenCart
    Если самопис или не знаете констант используйте $_SERVER['DOCUMENT_ROOT'] и дальше указывайте путь к изображению.
    Ответ написан
    Комментировать
  • Почему при float: right блоки меняются местами?

    Jakim
    @Jakim
    Laravel - developer
    Вот вам очень интересная ссылка которая много поучительного в себе несет. Всякие возможные варианты решения
    Ответ написан
    Комментировать
  • Как в slick сделать свою анимацию?

    Jakim
    @Jakim
    Laravel - developer
    Slick не поддерживает такие изощренные анимации, у него можно задать разное анимирование на сдвиг, ease-in ease-in-out и т.д.
    Для того что бы делать индивидуальные эффекты можно отлавливать событие смены слайда
    $('.you_tag_class').on('beforeChange', function(event, slick, currentSlide, nextSlide){
    // здесь навешиваете разные анимации для своих элементов, группируете их по времени выполнения и в свою очередь делаете скорость анимации в слике с учетом всех ваших временных выполнений
        });
    
    $('.one-time').slick({
      speed: 300  // скорость анимации будет зависить от времени анимирования всех ваших блоков
    });
    Ответ написан
    Комментировать
  • Как поменять dots в slick slider на изображения?

    Jakim
    @Jakim
    Laravel - developer
    $('.images').slick({ // это изначально slick слайдер для основного блока изображений
            slidesToShow: 1,  // по одному слайдеру 
            slidesToScroll: 1, // по одному менять
            arrows:true, // включение стрелок (если не нужны false)
            asNavFor: '.imagesnew_dotted' // указываем что навигация для слайдера будет отдельно (указываем класс куда вешаем навигацию)
        });
    
        $('.imagesnew_dotted').slick({ // настройка навигации
            slidesToShow: 3, // указываем что нужно показывать 3 навигационных изображения
            asNavFor: '.images', // указываем что это навигация для блока выше
            focusOnSelect: true // указываем что бы слайделось по клику
        });

    <!-- Собственно блок где будут основные изображения -->
                <div class="images">
                    <div><img src="image/data/big_img_1.jpg" alt=""></div>
                    <div><img src="image/data/big_img_2.jpg" alt=""></div>
                    <div><img src="image/data/big_img_3.jpg" alt=""></div>
                </div>
    <!-- Навигация для вышеупомянутого слайдера -->
                <div class="imagesnew_dotted" style="transform: none !important;"> // обязательно в css запретите трансформацию, а то будут иконки ездить в зависимости от номера слайда
                    <img class="active" src="image/data/icon_img_1.jpg">
                    <img src="image/data/icon_img_2jpg">
                    <img src="image/data/icon_img_3.jpg">
                </div>
    Ответ написан
    Комментировать
  • Убрать замедление и ускорение slick slider?

    Jakim
    @Jakim
    Laravel - developer
    .slick({
            slidesToShow: 1, // толкьо 1 слайд показывать одновременно
            slidesToScroll: 1, // по 1-му слайду проскролливать
            speed: 8000, // медленная смена слайдов - скорость бегущей строки
            autoplay: true, // устанавливаем автозапуск слайдера
            autoplaySpeed: 0, //делаем запуск мгновенный с загрузкой страницы
            cssEase: 'linear', // делаем анимацию однотонной при смене слайда
        });
    Ответ написан
    Комментировать
  • Как разрешить ошибку mail(): Multiple or malformed newlines found in additional_header?

    Jakim
    @Jakim
    Laravel - developer
    <?php
    /**
     * Created by PhpStorm.
     * User: Jakim
     * Date: 08.11.2017
     * Time: 3:37
     */
    $EOL = "\r\n"; // ограничитель строк, некоторые почтовые сервера требуют \n - подобрать опытным путём
    $boundary     = "--".md5(uniqid(time()));  // любая строка, которой не будет ниже в потоке данных.
    $subject_text = 'Тест от меня';
    $subject= '=?utf-8?B?' . base64_encode($subject_text) . '?=';
    $message = 'текст сообщения';
    $headers    = "MIME-Version: 1.0;" . $EOL . "";
    $headers   .= "Content-Type: multipart/mixed; boundary=\"" . $boundary . "\"" . $EOL . "";
    $headers   .= "From: jakimoff1990@gmail.com\nReply-To: jakimoff1990@gmail.com\n";
    
    $multipart  = "--" . $boundary . $EOL;
    $multipart .= "Content-Type: text/html; charset=utf-8" . $EOL . "";
    $multipart .= "Content-Transfer-Encoding: base64" . $EOL . "";
    $multipart .= $EOL; // раздел между заголовками и телом html-части
    $multipart .= chunk_split(base64_encode($message));
    
    #начало вставки файлов
    
    foreach($_FILES["file"]["name"] as $key => $value){
        $filename = $_FILES["file"]["tmp_name"][$key];
        $file = fopen($filename, "rb");
        $data = fread($file,  filesize( $filename ) );
        fclose($file);
        $NameFile = $_FILES["file"]["name"][$key]; // в этой переменной надо сформировать имя файла (без всякого пути);
        $File = $data;
        $multipart .=  "" . $EOL . "--" . $boundary . $EOL . "";
        $multipart .= "Content-Type: application/octet-stream; name=\"" . $NameFile . "\"" . $EOL . "";
        $multipart .= "Content-Transfer-Encoding: base64" . $EOL . "";
        $multipart .= "Content-Disposition: attachment; filename=\"" . $NameFile . "\"" . $EOL . "";
        $multipart .= $EOL; // раздел между заголовками и телом прикрепленного файла
        $multipart .= chunk_split(base64_encode($File));
    
    }
    
    #>>конец вставки файлов
    
    $multipart .= "" . $EOL . "--" . $boundary . "--" . $EOL . "";
    
    if(!mail('jakimoff1990@gmail.com', $subject, $multipart, $headers)){
        echo 'Письмо не отправлено';
    } //Отправляем письмо
    else{
        echo 'Письмо отправлено';
    }

    Там немного поменялись у людей заголовки, сам заморочился пока собрал все в кучу.
    Ответ написан
    1 комментарий
  • Почему onclick в jQuery срабатывает несколько раз вместо одного?

    Jakim
    @Jakim
    Laravel - developer
    В Вашем случае необходимо использовать конструкцию, которая вызывается через .one
    $('.menu__wrapper__menu').one('click', function() {

    Вот ссылка на официальный источник, и на рассмотренный пример Надеюсь этот вариант решения сможет Вам в будущем помочь.
    Ответ написан
    Комментировать
  • Почему onclick срабатывает 2 раза?

    Jakim
    @Jakim
    Laravel - developer
    В Вашем случае необходимо использовать конструкцию, которая вызывается через .one
    $( "ul.gallery > li" ).one( "click", function( event ) {

    Вот ссылка на официальный источник, и на рассмотренный пример Надеюсь этот вариант решения сможет Вам в будущем помочь.
    Ответ написан
    Комментировать
  • Что такое budget на upwork?

    Jakim
    @Jakim
    Laravel - developer
    Только обязательно учтите что попросив 4000$ за проект вы получите меньше, поскольку сервис взымает проценты от полной суммы ставки!
    Ответ написан
    Комментировать
  • Upwork (Апворк): как вывести средства, полученные как физлицо (до регистрации ИП)?

    Jakim
    @Jakim
    Laravel - developer
    Можно зарегистрироваться в платежной системе payoneer, https://share.payoneer.com/nav/2-uy5Gj6MJ2OZpSVAF5... закажете себе карту на адрес домой, выведете туда средства и снимете в любом удобном банкомате по их курсу валюты. И будет Вам счастье, и отчитываться за заработанные деньги не придется. Ссылка моя рефералка, за регистрацию по ней +25$ на счет (которые придут как только на счете будет больше 100$), как раз будет Вам оплатить годовой тариф системы payoneer. А дальше, хотите продолжайте ею пользоваться, хотите выбросите эту карту, они взымают оплату за пользование только при положительном балансе счета.
    Ответ написан
    Комментировать
  • Как запустить Cron задачу на Open Server?

    Jakim
    @Jakim
    Laravel - developer
    %progdir%\modules\wget\bin\wget.exe -q --no-cache -O /dev/null http:// your.site/script.php
    %progdir% переменная, которая задается в настройках OpenSever, будет указывать на путь к файлам программы.
    Но что бы сделать каждые 2 секунды, это разве что скриптом можно такое вычудить, и лишь до того момента пока хост не блокнет Вам ip за такое количество запросов на сервак
    Ответ написан
    Комментировать