在没有Apache的Docker中运行Codeigniter

时间:2018-11-02 17:15:08

标签: php codeigniter docker

我正在尝试将codeigniter运行到php docker容器中。但是,我在进入路线时遇到困难。对于我提出的每个请求(例如http://0.0.0.0:8000/events),它总是将我带到欢迎页面。
不要说我在使用Rest API framework for codeigniter

我已经检查过我的base_url,并将其正确设置为http://0.0.0.0:8000/
我还检查了事件的路线和控制器:$route['event'] = 'Event'
(网址中是否包含index.php并没有任何作用)

我认为问题可能是因为我没有在docker中运行任何Apache服务。我正在使用php -S 0.0.0.0:80 /var/www/index.php启动应用程序。

以下是相关代码。
docker-compose.yml

version: '2'
services:
  api:
    hostname: api
    build: 
      context: .
      dockerfile: ./etc/docker/dockerfile_php_7
    command: php -S 0.0.0.0:80 /var/www/index.php
    volumes: 
     - './../api-3.0/:/var/www'
    ports: 
     - "8000:80"
    links:
     - db:db 

etc / docker / dockerfile_php_7

FROM php:7.2.11

RUN apt-get update && \
    apt-get install -y \
    curl \
    wget \
    git \
    && curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer \
    && apt-get install -y \
        libfreetype6-dev \
        libjpeg62-turbo-dev \
        libmcrypt-dev \
        libpng-dev \
        libicu-dev \
    && docker-php-ext-install iconv \
    && docker-php-ext-enable iconv \ 
    && docker-php-ext-enable xdebug \
    && docker-php-ext-install exif \
    && docker-php-ext-enable exif \
    && docker-php-ext-install mbstring \
    && docker-php-ext-enable mbstring \
    && docker-php-ext-install intl \
    && docker-php-ext-enable intl \
    && docker-php-ext-install opcache \
    && docker-php-ext-enable opcache \
    && docker-php-ext-configure gd --with-freetype-dir=/usr/include/ --with-jpeg-dir=/usr/include/ \
    && docker-php-ext-enable gd \
    && docker-php-ext-install zip \
    && docker-php-ext-enable zip

ADD ./etc/php/php.ini /usr/local/etc/php

EXPOSE 8000

0 个答案:

没有答案