Задать вопрос
  • Не работает php в html?

    twobomb
    @twobomb
    Очень просто решается. Создай файл .htaccess в папке где лежат эти html файлы и пропиши в нём
    RemoveHandler .html .htm
    AddType application/x-httpd-php .php .htm .html .phtml

    P.S. Не забудь проверить чтобы mod_rewrite был включен
    Ответ написан
    2 комментария
  • Как отображать контент только в одной определенной стране?

    inoise
    @inoise Куратор тега PHP
    Solution Architect, AWS Certified, Serverless
    CDN с Geo Restriction Policy
    Ответ написан
    Комментировать
  • Как собрать все логи сервера в одно целое?

    saboteur_kiev
    @saboteur_kiev Куратор тега Linux
    software engineer
    1. Записать на бумажке где они
    2. Настроить весь софт писать логи в одно место
    3. Начать работать с лог аггрегаторами (ELK, splunk, etc.)
    Ответ написан
    Комментировать
  • Почему PHP CLI контейнер сам останавливается в docker?

    @flashyua
    Контейнер живет, пока работает "основной" процесс в нем, указанный как CMD. В php-cli контейнере таким процессом является интерпретатор php, но он закрывается сразу после запуска.
    Обычно, в cli контейнерах нужно запускать какую-то конкретную команду, после выполнения которой контейнер будет останавливаться.
    Ответ написан
    2 комментария
  • Как работает COPY в DOCKERFILE?

    COPY readme.txt /usr/src/test

    readme.txt - файл в текущей папке вместе с Dockerfile
    Ответ написан
    Комментировать
  • Зачем хранить логи в ElasticSearch?

    al_gon
    @al_gon
    Это делают на любых приложениях.
    Если вам нужен:
    • ценрализованный logging
    • визуализация в реальном времени
    • категоризирование
    • агрегация
    • фильтрация
    • ну и сам поиск как таковой
    Ответ написан
    4 комментария
  • Почему функция create, update работает когда phpmyadmin стоит на локалке но не работает, когда я гружу его на свой сервер?

    FanatPHP
    @FanatPHP
    Чебуратор тега РНР
    self::$cont =  new PDO( 
    "mysql:host=".self::$dbHost.";"."dbname=".self::$dbName, 
    self::$dbUsername, 
    self::$dbUserPassword, 
    [ PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION]);


    И повыкидиывать к едрене фене все бессмысленные try..catch из кода.

    И база даннх тебе сама человеческим голосом скажет, что ей не так.
    Ответ написан
    Комментировать
  • Как использовать $pdo внутри функции (без global)?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    1) Аргумент функции
    2) Статический класс

    сложным материям, типа ооп, патернам проектирования, внедрения зависимостей, синглтонов и т.п.

    Или такая необходимость это неизбежно сигнал неверного проектирования приложения?

    Как то вообще первая цитата со второй не в ладах... Ясень пень у вас неверное проектирование, если паттерны и ооп у вас сложные материи...
    Ответ написан
    3 комментария
  • Востребован ли чистый php?

    DevMan
    @DevMan
    невозможно знать фреймворк без знания чистого пхп.
    уже только поэтому вопрос абсурден.

    да и полно контор, которые обходятся без фреймворков/имеют собственный.
    Ответ написан
    Комментировать
  • Какой курс по современному PHP посоветуете?

    xmoonlight
    @xmoonlight
    https://sitecoder.blogspot.com
    На оф.сайте есть доки по отличиям версий от версии к версии. Вот их почитайте и вопрос решён.
    Ответ написан
    2 комментария
  • Как начать работать без "фонового шума"?

    @vladdimir
    Верстальщик
    На счет поведенческой терапии не в курсе, но знаю о кое-чем похожем. При желании включить, начните слушать свои мысли, ощущения в теле. С вами что-то происходит в этот момент, что вызывает это желание включить фон. В общем не сразу идти за импульсом "хочу включить", а понаблюдать, какая ваша часть - его источник.

    Можете попробовать какое-то время уделять слушанию собственных мыслей - что-то вроде медитации, только без сосредоточения на том, чтобы не думать, а свободно наблюдать за собственным мышлением.

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

    ThunderCat
    @ThunderCat Куратор тега MySQL
    {PHP, MySql, HTML, JS, CSS} developer
    если вчера была температура 27 градусов, и сегодня 27, может метеорологам не стоит записывать каждый день температуру?
    Естественно писать, если эти параметры относятся к логированию и построению какой-либо статистики, и к DRY это никаким боком не относится.
    Ответ написан
  • Что такое инверсия зависимостей в python?

    Hivemaster
    @Hivemaster
    Админ, который хочет программировать
    То же самое, что и в любом другом языке.
    Ответ написан
    1 комментарий
  • Как в PostgreSQL SQL запросом получить все триггерные функции в текущей бд?

    @vlad4ernyshov Автор вопроса
    Включив логи стало ясно, что pgAdmin4 тянет это дело вот таким запросом:
    SELECT
                pr.oid, pr.proname || '()' as name,
                lanname, pg_get_userbyid(proowner) as funcowner, description
            FROM
                pg_proc pr
            JOIN
                pg_type typ ON typ.oid=prorettype
            JOIN
                pg_language lng ON lng.oid=prolang
            LEFT OUTER JOIN
                pg_description des ON (des.objoid=pr.oid AND des.classoid='pg_proc'::regclass)
            WHERE
                proisagg = FALSE
                AND pronamespace = 2200::oid
                AND typname IN ('trigger', 'event_trigger')
                AND lanname NOT IN ('edbspl', 'sql', 'internal')
            ORDER BY 
                proname;
    Ответ написан
    Комментировать
  • Почему echo date('Y-m-d H:m:s'); из разных скриптов выводит разные результаты?

    Проблема часового пояса в настройках php или конкретного скрипта.

    Первое, выполните `php -i | grep timezone` в консоли. Там будет скорее всего UTC стоять. Если так, то вам нужно будет заменить на Europe/Moscow: `php --ini` покажет в консоли путь до php.ini файла, его нужно отредактировать (часто под рутом/администратором) строчку date.timeone = "Europe/Moscow"

    Второе, что может быть, часовой пояс где-то выставлен в самом скрипте, тут нужно поискать по коду команду https://www.php.net/manual/ru/function.date-defaul...

    Третье, может быть, вы эти скрипты запускаете разными php? Скажем, один в консоли, второй через веб-сервер (php-fpm)? Тогда у каждого из них свой php.ini и их нужно отредактировать по 1му варианту выше.
    Ответ написан
    Комментировать
  • Какую библиотеку можно использовать для изменения ФИО по падежам?

    nokimaro
    @nokimaro
    Меня невозможно остановить, если я смогу начать.
    Ответ написан
    Комментировать
  • Как правильно обучить классификатор?

    @dmshar
    Да уж, изучать ML по "статейкам" это жесть.

    "если дать классификатору какую нибудь картинку, типо человек/ дерево/ мебель" - не дать, а сначала обучить на этих картинках, то потом он и будет классифицировать ее на "типо человек/ дерево/ мебель". А если дать эту картинку классификатору, обученному на "котиках-собачках", тогда не удивляйтесь, если он ваш табурет примет за собаку, а дерево за кота. Или наоборот.

    как тогда обучать классификатор, где по сути должно быть два класса: суецид и все остальное - абсолютно так-же, как и котиков-собачек где их тоже два класса, про которые пишут ваши "статейки". Дать обучиться на пару десятках тысяч размеченных картинках, на которых эти ваши "вены, виселицы, синии киты" и столько-же картинок где их нет. Вот и будет потом ваш обученных классификатор делить картинки на "суецид и все остальное".
    Ответ написан
    3 комментария
  • Как сделать выполнение php кода, когда пользователь закрыл вкладку?

    На JS ловить window.blur или window.unload (точно не помню), по этому событию слать в API запрос, по запросу выполнять нужное действие. Можно пойти от противного: слать hearbeat запросы раз в 30 секунд, если пропустили - значит, вкладка закрыта или интернета нет, соответственно, выполняем функцию.
    Ответ написан
    Комментировать
  • Как правильно добавить и вывести категории с БД + фотография?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    Отсюда возникает первый вопрос - как лучше записывать эти категории - в один столбик, или для каждой категории сделать отдельный?
    таблица связей ид_проекта-ид_категории. Читать про отношения один-ко-многим и многие-ко-многим.

    Фотографию категорий я не хочу записывать в базу.
    Почему? Лень? Религия? Звезды не сошлись?

    Поэтому вопрос - как это лучше всего реализовать?
    Хранить имя картинки в бд, если это одна картинка - можно прямо в таблице категории. Путь до картинок категорий вынести в константу например.
    Ответ написан
    Комментировать
  • Как создать верный docker файл для проекта?

    miraage
    @miraage
    Старый прогер
    Примерно так выглядит мой конфиг для local development with symfony.
    Это не продакшн конфиг.

    docker-compose.yml
    version: '2'
    services:
      nginx:
        build: ./docker/nginx
        ports:
          - "80:80"
        links:
          - php
        volumes:
          - ./docker/nginx/http.conf:/etc/nginx/conf.d/http.conf
          - ./docker/nginx/site.conf:/etc/nginx/sites-enabled/site.conf
        volumes_from:
          - php
        command: 'nginx -g "daemon off;"'
      php:
        build: ./docker/php
        volumes:
          - .:/src
          - ./docker/php/php-cli.ini:/etc/php/7.0/cli/conf.d/php-cli.ini
          - ./docker/php/php-fpm.ini:/etc/php/7.0/fpm/conf.d/php-fpm.ini
          - ./docker/php/pool.conf:/etc/php/7.0/fpm/pool.d/www.conf
        command: 'php-fpm7.0 -F'
        links:
          - db
          - cache
        environment:
          SYMFONY__DB__DRIVER: pdo_pgsql
          SYMFONY__DB__HOST: db
          SYMFONY__DB__PORT: 5432
          SYMFONY__DB__NAME: dbname
          SYMFONY__DB__USER: dbuser
          SYMFONY__DB__PASSWORD: dbpassword
      db:
        image: "postgres:latest"
        environment:
          POSTGRES_DB: dbname
          POSTGRES_USER: dbuser
          POSTGRES_PASSWORD: dbpassword
      cache:
        image: "redis:latest"
        command: redis-server --appendonly yes


    docker/nginx/Dockerfile
    FROM ubuntu:16.04
    
    RUN apt-get update \
        && apt-get install -y nginx


    docker/nginx/http.conf
    access_log /dev/stdout;
    error_log /dev/stderr;


    docker/nginx/site.conf
    server {
        listen 80;
        server_name example.dev;
        root /src/web;
        index index.php index.html;
        
        location / {
            try_files $uri /app_dev.php$is_args$args;
        }
        
        location ~ ^/(app_dev|config)\.php(/|$) {
            include fastcgi.conf;
            
            fastcgi_split_path_info ^(.+\.php)(/.*)$;
            fastcgi_pass php:9000;
            
            fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;
            fastcgi_param DOCUMENT_ROOT $realpath_root;
        }
        
        location ~ \.php$ {
            return 404;
        }
    }


    docker/php/Dockerfile
    FROM ubuntu:16.04
    
    ENV PHP_PACKAGES \
            php7.0-fpm \
            php7.0-cli \
            php7.0-readline \
            php7.0-pgsql \
            php7.0-mcrypt \
            php7.0-xml
    
    RUN apt-get update \
        && apt-get install -y $PHP_PACKAGES
         
    RUN usermod -u 1000 www-data


    docker/php/php-cli.ini
    error_reporting = -1
    display_errors = On
    log_errors = Off
    html_errors = Off


    docker/php/php-fpm.ini
    error_reporting = -1
    display_errors = On
    log_errors = Off
    html_errors = On
    cgi.fix_pathinfo = 0


    docker/php/pool.conf
    pid = /var/run/php.pid
    
    [www]
    
    user = www-data
    group = www-data
    
    listen = 0.0.0.0:9000
    
    pm = dynamic
    pm.max_children = 20
    pm.start_servers = 2
    pm.min_spare_servers = 1
    pm.max_spare_servers = 3
    
    clear_env = no
    catch_workers_output = yes


    Как разворачивать базу

    Читайте про docker-entrypoint-initdb.d

    Либо же
    docker cp file.sql.gz containername:/tmp/dump.sql.gz
    docker exec -ti containername bash
    gunzip -c /tmp/dump.sql.gz | psql -U username dbname
    Ответ написан
    3 комментария