gpt4 book ai didi

php - Docker CodeIgniter 2.2.6 文件上传不工作

转载 作者:可可西里 更新时间:2023-11-01 01:11:27 26 4
gpt4 key购买 nike

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

我的根目录中有应用程序、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>

当我在谷歌浏览器中检查这个页面时,代码将解释如下。 (请注意表格 Action 部分。):- enter image description here

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

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

最佳答案

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

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

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

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

关于php - Docker CodeIgniter 2.2.6 文件上传不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55323829/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com