我正在尝试将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