Простой менеджер проектов.
- PHP 7.3
- MySQL 8
- Apache с поддержкой
.htaccess
и включенным модулемmod_rewrite
short_open_tag = On
sql_mode=''
Требуемые расширения, которые могут быть выключены по умолчанию:
TODO: Установка с помощью Docker
- Скопируйте все, кроме
.dev
,_private
,ci
,README.md
иCHANGELOG.md
на сервер. - Переименуйте
lpm-config.inc.template.php
вlpm-config.inc.php
и заполните его. - Импортируйте БД из папки
.dev/db/dump.sql
(используется префикс таблиц по умолчанию). - Убедитесь, что php имеет права на запись в папку
lpm-files
(рекурсивно). - Если нужно писать логи, создайте пустую папку
_private
и дайте php права на запись в неё (логи по умолчанию пишутся в/_private/logs/
). Не забудьте запретить к ней доступ снаружи. - Обязательно задайте URL сайта заканчивающийся на
/
через глобальную константуSITE_URL
Важно! Не забудьте запретить доступ снаружи к следующим директориям:
_private
;.dev
(используется при установке через Docker).
Приватная директория с файлами для настройки БД.
dump.sql
содержит текущий актуальный дамп базы (используется для новой установки).changes-log.sql
содержит историю изменений БД.
Проблема с тем, что ответ на запрос приходит клиенту в неверном формате, который тот не может прочитать.
Самые распространенные причины:
- BOM. Во время разработки или, чаще всего, при сохранении конфига, его сохранили с заголовком (кодировка UTF8 with BOM). Этот заголовок добавляется к любому выводу (т.к. присутствует в файле конфигурации, который подключается всегда) и ломает формат - клиент не может распаковать данные, т.к. в нем присутствуют лишние символы. Решение: надо просто пересохранить файл(ы) без BOM.
- Двойное сжатие. Flash2PHP самостоятельно сжимает ответ перед отправкой (при включенной настройке
F2P_USE_COMPRESS
, в проекте включена), если при этом где-нибудь на уровне сервера еще включено сжатие для вывода, то данные будут сжаты дважды и клиент не сможет их корректно распарсить. Решение: нужно отключить сжатие на уровне сервера.
Для форматирования кода используется php-cs-fixer с включенными правилами @PSR1, @PSR2
.
Для VS Code можно установить плагин vscode-php-cs-fixer, но в настройках нужно обязательно указать свой php-cs-fixer и правила:
"vscode-php-cs-fixer.toolPath": "/usr/local/bin/php-cs-fixer",
"vscode-php-cs-fixer.rules": "@PSR1,@PSR2",
Скачать нужный php-cs-fixer
можно здесь.
В качестве библиотеки стилей используется Bootstrap 5.
Для переопределения глобальных Bootstrap стилей нужно использовать файл /.lpm-themes/default/css/bootstrap-reset.css
.
Для использования компонентов библиотеки см. документацию к Bootstrap.
Docker окружение размещается в /.dev/docker-env
. См. README.
В поставку включен Adminer (устанавливается вместе с другим окружением с помощью Docker).
Доступен по адресу приложения с указанием порта ADMINER_PORT
, заданного в .dev/docker-env/.env
.