Docker-based development environment:
- PHP versions: 8.0, 7.4, 7.3 and 5.6.
- MySQL 5.7 database server.
- nginx web server.
Install
git
,docker
anddocker-compose
.Clone the environment repository:
$ git clone [email protected]:cscart/development-docker.git ~/srv $ cd ~/srv
Create the directory to store CS-Cart files:
$ mkdir -p app/www
Clone CS-Cart repository or unpack the distribution archive into the
app/www
directory.Enable the default application config for nginx:
$ cp config/nginx/app.conf.example config/nginx/app.conf
Run application containers:
$ make -f Makefile run
- DB host: mysql5.7.
- User: root.
- Password: root.
PHP 7.4 is used by default.
To use the specific PHP version for your requests, add the following prefix to the domain you request:
php5.6.
for PHP 5.6.php7.3.
for PHP 7.3.php7.4.
for PHP 7.4.php8.0.
for PHP 8.0.
PHP containers do not send actual e-mails when using the mail()
function.
All sent emails will be caught and stored in the app/log/sendmail
directory.
See comments in the config/nginx/app.conf.example
file if you need to host multiple PHP applications inside single Docker PHP container.
xDebug 3 is already configured for PHP7 and PHP8 containers. All you have to do is to uncomment the extension installation in the config/php*/Dockerfile
files.
You can read about configuring PHPStorm to work with Docker and xDebug 3 in the "Debugging PHP" article.
Среда для разработки на базе Docker:
- Версии PHP: 8.0, 7.4, 7.3 и 5.6.
- Сервер баз данных MySQL 5.7.
- Веб-сервер nginx.
Установите
git
,docker
anddocker-compose
.Склонируйте репозиторий с окружением:
$ git clone [email protected]:cscart/development-docker.git ~/srv $ cd ~/srv
Создайте папку для файлов CS-Cart:
$ mkdir -p app/www
Склонируйте репозиторий CS-Cart или распакуйте дистрибутив в папку
app/www
.Включите приложение со стандартным конфигом nginx:
$ cp config/nginx/app.conf.example config/nginx/app.conf
Запустите контейнеры приложения:
$ make -f Makefile run
- Хост БД: mysql5.7.
- Пользователь: root.
- Пароль: root.
По умолчанию используется PHP 7.4.
Чтобы явно указать версию PHP для конкретного запроса, добавьте к домену следующую приставку:
php5.6.
для PHP 5.6.php7.3.
для PHP 7.3.php7.4.
для PHP 7.4.php8.0.
для PHP 8.0.
PHP по умолчанию не отправляют настоящих писем при вызове функции mail()
.
Все исходящие e-mail'ы перехватываются и пишутся в папку app/log/sendmail
.
См. комментарии в файле config/nginx/app.conf.example
.
xDebug уже настроен для использования в контейнерах с PHP7 и PHP8. Для его включения нужно раскомментировать установку модуля в config/php*/Dockerfile
.
О настройке PHPStorm для работы с Docker и xDebug 3 можно прочитать в статье "PHP: Настраиваем отладку".