Установка Phalcon в Docker - PullRequest
       12

Установка Phalcon в Docker

0 голосов
/ 24 декабря 2018

Я пытаюсь установить phalcon в докере и не могу понять, как это сделать.

Я ищу в Интернете решения и не могу заставить его работать.

Я успешно установил Docker для Windows, и он, кажется, работает нормально, но я не могу найти способ установитьDocker.

Может кто-нибудь помочь мне установить phalcon в Docker?

Заранее спасибо

Ответы [ 4 ]

0 голосов
/ 02 апреля 2019

Для phalcon важно компилировать на том же оборудовании / процессоре.Или вы передаете флаги

 phpize \
    && ./configure CFLAGS="-O2 -g" \
    && make -B \
    && make install
0 голосов
/ 25 декабря 2018

Вы можете создать Dockerfile, который компилирует Phalcon для вас:

FROM php:7.2-fpm

ENV PHALCON_VERSION=3.4.2

RUN curl -sSL "https://codeload.github.com/phalcon/cphalcon/tar.gz/v${PHALCON_VERSION}" | tar -xz \
    && cd cphalcon-${PHALCON_VERSION}/build \
    && ./install \
    && cp ../tests/_ci/phalcon.ini $(php-config --configure-options | grep -o "with-config-file-scan-dir=\([^ ]*\)" | awk -F'=' '{print $2}') \
    && cd ../../ \
    && rm -r cphalcon-${PHALCON_VERSION}
0 голосов
/ 25 марта 2019

если вы ищете php7 + apache + mysql с phalcon 3.4.2, то вот мое решение.для phalcon 4 необходимо выполнить дополнительные действия, такие как установка psr, иначе это приведет к ошибке для необходимых зависимостей.РАССМОТРЕТЬ СЛЕДУЮЩУЮ СТРУКТУРУ И РАЗМЕЩАТЬ ФАЙЛЫ В СООТВЕТСТВИИ

docker-compose.yml

www (каталог, куда вы положите свой код)

index.php

.docker (каталог)

Dockerfile

dump (каталог только для сохранения ваших данных MySQL)

вот Dockerfile, который вы положите в каталог .docker

FROM php:7.1.2-apache 
RUN docker-php-ext-install pdo_mysql
RUN sed -i '/jessie-updates/d' /etc/apt/sources.list # Now archived
RUN apt update

RUN apt install -y \ 
    apt-transport-https \ 
    lsb-release \ 
    ca-certificates \ 
    wget \ 
    curl \ 
    nano \ 
    dialog \ 
    net-tools \
    git \
    sudo \
    openssl \
    libpcre3-dev

RUN wget -O /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.org/php/apt.gpg
RUN sh -c 'echo "deb https://packages.sury.org/php/ $(lsb_release -sc) main" > /etc/apt/sources.list.d/php.list'

RUN apt update && apt install -y \
    php7.1-curl \
    php7.1-mbstring \
    php7.1-gettext \
    php7.1-gd \
    php7.1-fileinfo \
    php7.1-json \
    php7.1-mcrypt \
    php7.1-redis \
    php7.1-intl \
    php7.1-xml \
    php7.1-zip
ARG PHALCON_VERSION=3.4.2
ARG PHALCON_EXT_PATH=php7/64bits
RUN set -xe && \
        # Compile Phalcon
        curl -LO https://github.com/phalcon/cphalcon/archive/v${PHALCON_VERSION}.tar.gz && \
        tar xzf ${PWD}/v${PHALCON_VERSION}.tar.gz && \
        docker-php-ext-install -j $(getconf _NPROCESSORS_ONLN) ${PWD}/cphalcon-${PHALCON_VERSION}/build/${PHALCON_EXT_PATH} && \
        # Remove all temp files
        rm -r \
            ${PWD}/v${PHALCON_VERSION}.tar.gz \
            ${PWD}/cphalcon-${PHALCON_VERSION}
RUN a2enmod rewrite

это будет для вас настройками php и phalcon вместе с apache, и вы можете использовать docker compose для запуска всего необходимого контейнера для создания вашего приложения.вот ваш docker-compose файл

version: "2"
services:
    www:
        build: ./.docker
        ports: 
            - "8001:80"
        volumes:
            - ./www:/var/www/html/
        links:
            - db
        networks:
            - default
    db:
        image: mysql:5.7.13
        ports: 
            - "3306:3306"
        environment:
            MYSQL_DATABASE: myDb
            MYSQL_USER: user
            MYSQL_PASSWORD: test
            MYSQL_ROOT_PASSWORD: test
        volumes:
            - ./dump:/var/lib/mysql
    phpmyadmin:
        image: phpmyadmin/phpmyadmin
        links: 
            - db:db
        ports:
            - 8000:80
        environment:
            MYSQL_USER: user
            MYSQL_PASSWORD: test
            MYSQL_ROOT_PASSWORD: test

после этого просто добавьте index.php в www

<?php echo phpinfo();?>

после этого localhost: 8001 должно быть доступно ..Удачного кодирования.и если есть какие-либо улучшения должны быть сделаны в этом.пожалуйста, дай мне знать.на данный момент он работает очень круто для меня и моей первой конфигурации phalcon.впустую много времени на это .....

0 голосов
/ 24 декабря 2018

Вы можете установить его через Dockerfile. Пожалуйста, загрузите эту ссылку в соответствии с вашей операционной системой https://github.com/phalcon/dockerfiles

Плюс вы можете сделать это через репо https://hub.docker.com/u/phalconphp

...