Docker CodeIgniter 2.2.6 文件上传不工作

Docker CodeIgniter 2.2.6 file upload not working

我正在尝试 运行 CodeIgniter 2.2.6 应用程序 LAMP 堆栈设置 Docker on windows 10。应用程序已启动并且 运行宁甚至数据库连接(使用 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 服务的 Docker 文件:-

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 服务的 Docker 文件:-

FROM mariadb:latest

这是我的文件夹结构:-

我的根目录中有应用程序、docker 文件夹和 docker-compose.yml 文件。在应用程序文件夹中,我有 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 中检查此页面时,代码将解释如下。 (请注意表格动作部分。):-

在我选择要上传的图像文件并按下上传按钮后,页面旋转了几秒钟,最后显示以下消息:-

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

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

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

如果使用 URL 助手,那么 base_url() 将输出上面的字符串。

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