Я пытаюсь запустить приложение CodeIgniter 2.2.6 с установкой стека LAMP с помощью Docker в 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:
Вот файл Dockerfile для службы php-apache: -
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/
Вот файл Dockerfileдля службы mariadb: -
FROM mariadb:latest
А вот моя структура папок: -
У меня есть приложение, папки док-станции иФайл 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, кодбудем интерпретировать следующим образом.(Пожалуйста, обратите внимание на часть действия формы.): -
После того, как я выберу файл изображения для загрузки и нажму кнопку загрузки, страница вращается в течение нескольких секунд и заканчиваетсяследующее сообщение: -
Я не знаю, что я сделал неправильно, и любая помощь очень ценится.Спасибо.