Задать вопрос
  • В чем разница запуска скрипта через браузер и по ssh?

    @AUser0
    Чем больше знаю, тем лучше понимаю, как мало знаю.
    При вызове из браузера скрипт работает до тех пор, пока есть соединение браузера с HTTP-сервером, который скрипт и запустил. Но браузеры не удерживают HTTP-соединение вечно, оно не для этого придумано, поэтому скрипт и убивается.

    SSH - это уже консоль, а её ни кто не убивает. Поэтому и скрипт работает без ограничений по времени.

    И именно так и задумано, долгоработающие скрипты нужно запускать именно в консоли. Можно сделать и с браузером, но лучше не надо.
    Ответ написан
    Комментировать
  • Дубль формы через JS и присваивание атрибута name c индексом?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Как вариант - handlingUnits[PackageType][].
    Тогда индексы в PHP проставятся автоматически.
    Ответ написан
    1 комментарий
  • Почему не создаётся php8.1-fpm.sock?

    Kuzm1ch88
    @Kuzm1ch88
    /etc/php-fpm.d/www.conf
    listen = 127.0.0.1:9000
    nginx конфиг
    fastcgi_pass 127.0.0.1:9000;

    fastcgi_pass unix:/var/run/php/php8.1-fpm.sock;
    Ответ написан
    8 комментариев
  • Почему php требует ssl сертификат?

    jone21
    @jone21
    Кратко не получится
    $arrContextOptions=array(
        "ssl"=>array(
            "verify_peer"=>false,
            "verify_peer_name"=>false,
        ),
    );  
    $sw=file_get_contents(ЛИНК, false, stream_context_create($arrContextOptions));
    Ответ написан
    2 комментария
  • Почему imagemagick может менять имя выходного файла?

    demon416nds
    @demon416nds Автор вопроса
    Разработчик на чем попало
    Причина осталась неизвестной, но решением оказалось пересоздание tprocessutf8 после каждого цикла обработки
    cmd:=tprocessutf8.Create(nil);
    cmd.Executable:=mydir+'\magick.exe';
    cmd.Options := cmd.Options + [poWaitOnExit] + [poNoConsole];
    cmd.Parameters.Add('"'+imgname+'" -crop '+inttostr(cs)+'x'+inttostr(cs)+'+'+inttostr(cx)+'+'+inttostr(cy)+' "'+inttostr(t)+'temp1.jpg"');
    cmd.Execute;      
    /*тут еще несколько операций над картинкой*/
    cmd.Free;

    upd
    похоже причина была в необнулении переменных но проверять уже не буду
    Ответ написан
    Комментировать
  • Yandex поиск пагинация странная i++?

    Если яндекс по твоему запросу предполагает, что он какой-то программистский, то он вот такие приколюхи добавляет.
    Хз зачем это нужно, видимо просто чтобы порадовать)
    Ответ написан
    Комментировать
  • Почему говорят что jquery не нужен?

    ThunderCat
    @ThunderCat Куратор тега JavaScript
    {PHP, MySql, HTML, JS, CSS} developer
    Скрипач не нужен, родной (с)
    Аргументы против jq:
    - современные браузеры достаточно хорошо поддерживают единый синтаксис современного екмаскрипт(native js)(на самом деле нет).
    - сторонняя библиотека, работает медленнее чем натив и в основном состоит из с-сахара (тоже не совсем правда)
    - тащить еще один ресурс весом от 64 кб до 200 кб, еще и со сторонних ресурсов замедляет загрузку( правда, но бред)
    Аргументы за:
    - Современные браузеры как и всегда один другого "ровнее", всегда есть косяки и "нюансы", на которые еще и попадаешь обычно в самый неподходящий момент, в жк обычно все работает одинаково везде, ну или лучше чем в нативе.
    - В жк реализована куча плюшек в 1 функцию которые в нативе занимают "многабукав", не каждый начинающий напишет их правильно, да и профи не все напишут оптимально, уверен что в большинстве случаев написанный нативом функционал будет хуже аналога из жк.
    - размер мин пакета жк 64 кб, и все они лежат на быстрых цдн серверах. Думаю это последнее что может повлиять на скорость загрузки страницы.
    - есть ОГРОМНОЕ количество скриптов написанных с учетом жк, не использовать их глупо, писать свой велосипед - вообще только в целях обучения(не берем крайние случаи когда плагин писал упоротый пингвин).
    - Синтаксис и краткость записи - вообще вне конкуренции.
    - Старые браузеры никто не отменял, часто заказчик требует чтобы работало в ие8, натив не канает или доставляет море анального удовольствия.
    Вывод: Если ты крут в жс, еще и работаешь в ангуларе/ещечетамдляфронта и тебе нужно сделать 2 действия в очень современных браузерах - jquery не нужен, и ты это сам знаешь. Если слова ангулар, вуе и проч для тебя не больше чем шум листвы за окном, а навесить плагинов и эффектов нужно - jquery наше все.

    UPD: для всех кто там отписался а ля "в связи (...), исчезновением проблемы совместимости со старыми IE (что и было основным назначением jQuery)." - свежачок
    Ответ написан
    4 комментария
  • Почему говорят что jquery не нужен?

    @dmitry_pacification
    Трудности рождают прорыв
    Так говорят скорее всего потому, что не понимают что на самом деле jQuery дает. Можно написать все на чистом js, но jq вразы ускоряет разработку. Соответственно люди которые кричат против jq и получают деньги за часы работы заинтересованы в том, чтобы делать по дольше задачу и получить больше денег.
    Такой себе способ раздобыть немножно монет и понимания работы чистого js. ))
    Я пытался реализовать на js обычную кнопку "наверх", и плавный переход по лендинку вверх и в низ. Чесн скажу, я задолбался. Я знаю что на jq я решу это быстро и спокойно, на на нейтиве - это изобретения велосипеда с 0
    Ответ написан
    3 комментария
  • Можно ли добавить айди ролям в RBAC Yii2?

    @pantsarny
    Но ведь name является идентификатором, который используется в коде для проверки (can())
    Вам удобнее будут магические числа ? Или константы?
    Сделайте name слагом от названия
    Ответ написан
    Комментировать
  • Как из iframe обратиться к родителю?

    zkrvndm
    @zkrvndm
    Архитектор решений
    Чтобы послать сигнал из фрейма в родительской документ, в родителе ставите обработчик message:
    window.addEventListener('message', function(event) {
    	var message = event.data;
    	console.log('Получено сообщение из фрейма: ' + message);
    });

    Далее внутри фрейма попробуйте выполнить:
    window.parent.postMessage('Какое-нибудь произвольное сообщение', '*');

    И увидите, как сработал обработчик в родителе. Разумеется вместо сообщения, вы можете послать наружу, например, высоту фрейма или вовсе какой-нибудь произвольный JS-код, который потом можно выполнить внутри обработчика.

    Больше информации вы можете добыть самостоятельно, через поиск Яндекса:
    https://yandex.ru/search/?text=JavaScript%20postMe...
    Если мой ответ помог, отметьте его решением.
    Ответ написан
    Комментировать
  • Вызов js скрипта из iframe?

    @AigizK Автор вопроса
    Если бы основная страница и страница из iframe имели одинаковый домен, то вызвать можно было бы так

    window.top.needed();

    Но т.к. в iframe у нас отображается страница из поддомена, то так делать не получится.
    Но оказывается это можно обойти, изменив домен на основной странице и на странице iframe и выставить у обоих домен от корневого сайта. Тогда js функции можно вызвать так
    window.top.needed();
    Подробнее здесь
    Ответ написан
    Комментировать
  • Как реализовать поиск по бд на сайте?

    vabka
    @vabka Куратор тега Веб-разработка

    mysql

    Гугли что такое SQL и как работать с MySQL


    Поиск друзей во ВКонтакте

    У вк есть API - читай документацию.

    Например на C# для работы с базами данных есть Entity Framework Core. А для работы с вк - библиотека VkNET.

    А чтобы это всё было доступно на сайте - на C# есть asp net core, с помощью которого можно написать сервер, который будет обрабатывать http запросы. А из браузера можно при помощи js и функции fetch этот запрос отправить, чтобы получить нужные данные.
    Ответ написан
    Комментировать
  • Как открыть консоль браузера на Андроид смартфоне?

    yarkov
    @yarkov
    Помог ответ? Отметь решением.
    https://developer.chrome.com/docs/devtools/remote-...
    Подключаем телефон к компу, открываем на телефоне сайт и на компьютере видим что в консоли телефона.
    Ответ написан
    Комментировать
  • Зачем вложенные "namespace"?

    @alexalexes
    Потому, что класс user (с достаточно неуникальным именем) может реализован еще в каком-нибудь стороннем компоненте.
    Чтобы при подключении этого компонента, вы могли использовать одноименный класс user как из своего компонента, так и из стороннего.
    Ответ написан
  • Как узнать координату отступа сверху div блока, от верхнего края браузера?

    @GoodBoy123
    На нативном JS:
    var offsetTop = Element.getBoundingClientRect().top + document.body.scrollTop;


    Тестовая страница:
    <html>
    <head>
    	<title>afdafasdfasd</title>
    </head>
    <body>
    	<div>11</div>
    	<div>11</div>
    	<div>11</div>
    	<div>11</div>
    	<div>11</div>
    	<div>11</div>
    	<div id='test'>TESTTESTTEST</div>
    	<script type="text/javascript">
    		console.log(document.getElementById('test').getBoundingClientRect().top + document.body.scrollTop);
    	</script>
    </body>
    </html>


    Точно работает IE8+, должно работать в версиях ещё ниже.
    Ответ написан
    Комментировать
  • Как подключиться к базе данных при работе с вебсокетом?

    @humoured
    Вы всё на свете найдёте в коробке с карандашами
    Такую задачу нужно решать не с помощью отслеживания изменений в базе данных, а с помощью событий.
    Например, Redis pub/sub. Смысл прост: есть один или несколько клиентов (subscriber), есть источник события (publisher). Создаёшь событие — клиенты о нём узнают.
    Ответ написан
    2 комментария
  • Зачем нужны абстрактные классы (PHP)?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    типичный юзкейс для абстрактный классов - базовая реализация, уменьшение дублирования кода при появлении общего решения и т.д. Например у вас есть интерфейс с несколькими методами, и только 2-3 из них реализуются по разному. Выгодно вынести общую реализацию в базовый абстрактный класс.
    Ответ написан
    1 комментарий
  • Curl выдает false. Что делать?

    @alabs Автор вопроса
    Решил вопрос другим методом:
    function gateway($method, $data) {
    	$context = stream_context_create(array(
    	  'http' => array(
    		'method' => 'POST',
    		'header' => 'Content-Type: application/x-www-form-urlencoded',
    		'content' => http_build_query($data),
    		'protocol_version' => 1.1,
    		'timeout' => 10,
    		'ignore_errors' => true
    	  )
    	));
    	$response = file_get_contents(GATEWAY_URL.$method, false, $context);
    	$response = json_decode($response, true); // Декодируем из JSON в массив
        return $response; // Возвращаем ответ
    }
    Ответ написан
    1 комментарий
  • Не работает file_get_contents, проверьте у себя, не могу понять что не так?

    @DanKud
    $options = [
        'http' => [
            'method' => 'GET',
            'header' => [
                'Accept-language: ru',
                'User-Agent: Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.121 YaBrowser/19.3.1.828 Yowser/2.5 Safari/537.36'
            ]
        ]
    ];
    
    $context = stream_context_create($options);
    
    $response = file_get_contents('http://sbonhelp.ru/registraciya-v-sberbank-online', false, $context);
    echo mb_convert_encoding($response, 'utf-8', 'windows-1251');

    либо через cURL
    Ответ написан
    2 комментария
  • Как удалить класс на чистом JavaScript?

    sergiks
    @sergiks Куратор тега JavaScript
    ♬♬
    const className = "mystyle";
    const els = document.getElementsByClassName(className);
    while (els.length > 0) els[0].classList.remove(className);
    Ответ написан
    3 комментария