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 :)
我正在尝试 运行 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 :)