Last active 1764983309

как на альпине включить запуск phar на php ?

gistfile1.txt Raw
1На Alpine Linux для включения поддержки PHAR в PHP нужно выполнить несколько шагов:
2
3## 1. Установка PHP с поддержкой PHAR
4
5```bash
6# Обновление пакетов
7apk update
8
9# Установка PHP с необходимыми расширениями
10apk add php php-phar php-common
11```
12
13## 2. Дополнительные расширения (рекомендуется)
14
15```bash
16# Для полной функциональности PHAR
17apk add php-openssl php-zlib php-json php-filter
18```
19
20## 3. Проверка установки
21
22```bash
23# Проверить, включено ли расширение phar
24php -m | grep phar
25
26# Или посмотреть полную информацию
27php -i | grep phar
28```
29
30## 4. Настройка php.ini (если необходимо)
31
32Обычно PHAR включен по умолчанию, но можно проверить:
33
34```bash
35# Найти php.ini
36php --ini
37
38# Проверить настройки phar
39grep phar /etc/php*/php.ini
40```
41
42Убедитесь, что в php.ini нет строки:
43```ini
44;phar.readonly = On
45```
46
47Если есть, закомментируйте её или установите:
48```ini
49phar.readonly = Off
50```
51
52## 5. Проверка работы PHAR
53
54Создайте тестовый скрипт:
55
56```php
57<?php
58// test_phar.php
59$phar = new Phar('test.phar');
60$phar['test.txt'] = 'Hello PHAR!';
61echo "PHAR работает!\n";
62```
63
64Запустите:
65```bash
66php test_phar.php
67```
68
69## Возможные проблемы и решения
70
71**Проблема**: `phar.readonly` запрещает создание архивов
72**Решение**:
73```bash
74# Временное отключение
75php -d phar.readonly=0 script.php
76
77# Постоянное отключение в php.ini
78sed -i 's/;phar.readonly = On/phar.readonly = Off/' /etc/php8/php.ini
79```
80
81**Проблема**: Отсутствуют зависимости
82**Решение**:
83```bash
84apk add php-mbstring php-xml php-tokenizer
85```
86
87После выполнения этих шагов PHAR должен работать корректно на Alpine Linux.