Docker CodeIgniter 2.2.6文件上传无法正常工作

问题描述 投票:3回答:1

我试图在Windows 10上运行带有Docker的LAMP堆栈设置的CodeIgniter 2.2.6应用程序。应用程序启动并运行甚至数据库连接(使用mariadb)工作正常。但是,当我开始创建文件上传功能时,它失败了。浏览器称“172.18.0.3需要很长时间才能回复”。

这是我的docker-compose.yml文件: -

version: '3'

services: 

  php-apache:
    build:
      context: ./docker/php-apache
    ports: 
      - 8081:80
    volumes: 
      - ./app:/var/www/html
    links: 
      - 'mariadb'

  mariadb: 
    build: 
      context: ./docker/mariadb
    ports:
      - 3306:3306
    volumes: 
      - mariadb:/var/lib/mysql
    environment: 
      MYSQL_ALLOW_EMPTY_PASSWORD: "no"
      MYSQL_ROOT_PASSWORD: "rootpwd"
      MYSQL_USER: 'testuser'
      MYSQL_PASSWORD: 'testpassword'
      MYSQL_DATABASE: 'testdb_codeigniter'

volumes: 
  mariadb:

这是用于php-apache服务的Dockerfile: -

FROM php:5.6-apache
RUN docker-php-ext-install pdo pdo_mysql mysqli

# Override with custom opcache settings
COPY ./opcache.ini $PHP_INI_DIR/conf.d/

这是mariadb服务的Dockerfile: -

FROM mariadb:latest

这是我的文件夹结构: -

Here is my folder structure:-

我的root中有app,docker文件夹和docker-compose.yml文件。在app文件夹里面我有codeigniter文件。

我有一个用于上传文件的php文件(upload_form.php): -

<html>
    <head>
        <title>FIle Upload</title>
    </head>
    <body>
    <?= $error ?>
    <?= form_open_multipart('upload/upload_file') ?>
        <input type="file" name="userfile" size="20"><br/><br/>
        <input type="submit" value="Upload">
    </form>

    </body>
</html>

当我在google Chrome中检查此页面时,代码将解释如下。 (请注意形式行动部分。): - enter image description here

选择要上传的图像文件并按上传按钮后,页面会旋转几秒钟并最终显示以下消息: - enter image description here

我不知道我做错了什么,非常感谢任何帮助。谢谢。

php apache docker codeigniter-2 docker-for-windows
1个回答
3
投票

基本URL应该是绝对的,包括协议:

$config['base_url'] = "http://somesite.com/";

如果使用URL帮助器,则base_url()将输出上述字符串。

如果你不包含基本URL,它通常需要docker IP :)

© www.soinside.com 2019 - 2024. All rights reserved.