Добавлен фикс для fpm

This commit is contained in:
2025-08-11 07:12:57 +03:00
parent c84dc89692
commit 01637e7778
2 changed files with 359 additions and 36 deletions

176
fix_php_fpm.sh Normal file
View File

@@ -0,0 +1,176 @@
#!/bin/bash
# Быстрое исправление проблемы с PHP-FPM
# Запустите этот скрипт после неудачной установки
RED='\033[0;31m'
GREEN='\033[0;32m'
YELLOW='\033[1;33m'
BLUE='\033[0;34m'
NC='\033[0m'
log_info() { echo -e "${BLUE}[Инфо]${NC} $1"; }
log_success() { echo -e "${GREEN}[Успех]${NC} $1"; }
log_error() { echo -e "${RED}[Ошибка]${NC} $1"; }
log_warning() { echo -e "${YELLOW}[Предупреждение]${NC} $1"; }
echo "=== Диагностика и исправление PHP-FPM ==="
# Проверяем установленные PHP пакеты
log_info "Установленные PHP пакеты:"
rpm -qa | grep -E "php[0-9]*" | sort
# Проверяем доступные сервисы
log_info "Доступные PHP-FPM сервисы:"
systemctl list-unit-files | grep php-fpm
# Останавливаем все PHP-FPM сервисы
log_info "Остановка всех PHP-FPM сервисов..."
for service in php-fpm php83-php-fpm php82-php-fpm php81-php-fpm php80-php-fpm php74-php-fpm php84-php-fpm php85-php-fpm; do
systemctl stop "$service" 2>/dev/null && log_info "Остановлен: $service" || true
systemctl disable "$service" 2>/dev/null || true
done
# Определяем правильный сервис PHP 8.3
if systemctl list-unit-files | grep -q "php83-php-fpm.service"; then
PHP_FPM_SERVICE="php83-php-fpm"
PHP_FPM_CONF="/etc/opt/remi/php83/php-fpm.d/www.conf"
SOCKET_PATH="/var/opt/remi/php83/run/php-fpm/www.sock"
log_info "Используем: php83-php-fpm (Remi)"
elif systemctl list-unit-files | grep -q "php-fpm.service"; then
PHP_FPM_SERVICE="php-fpm"
PHP_FPM_CONF="/etc/php-fpm.d/www.conf"
SOCKET_PATH="/run/php-fpm/www.sock"
log_info "Используем: php-fpm (стандартный)"
else
log_error "PHP-FPM сервис не найден!"
exit 1
fi
# Проверяем конфигурацию
if [ ! -f "$PHP_FPM_CONF" ]; then
log_error "Конфигурационный файл не найден: $PHP_FPM_CONF"
# Ищем альтернативные конфигурации
log_info "Поиск конфигурационных файлов..."
find /etc -name "www.conf" -type f 2>/dev/null | grep php-fpm
# Используем первый найденный
PHP_FPM_CONF=$(find /etc -name "www.conf" -type f 2>/dev/null | grep php-fpm | head -1)
if [ -f "$PHP_FPM_CONF" ]; then
log_success "Найден конфигурационный файл: $PHP_FPM_CONF"
# Обновляем путь к сокету
SOCKET_PATH=$(dirname "$(dirname "$PHP_FPM_CONF")")/run/php-fpm/www.sock
else
log_error "Конфигурационный файл не найден"
exit 1
fi
fi
# Создаем резервную копию и настраиваем
log_info "Настройка конфигурации PHP-FPM..."
cp "$PHP_FPM_CONF" "${PHP_FPM_CONF}.backup.$(date +%Y%m%d_%H%M%S)"
# Настраиваем основные параметры
sed -i "s|;*listen = .*|listen = $SOCKET_PATH|" "$PHP_FPM_CONF"
sed -i 's/;*listen.owner = .*/listen.owner = apache/' "$PHP_FPM_CONF"
sed -i 's/;*listen.group = .*/listen.group = apache/' "$PHP_FPM_CONF"
sed -i 's/;*listen.mode = .*/listen.mode = 0660/' "$PHP_FPM_CONF"
sed -i 's/;*user = .*/user = apache/' "$PHP_FPM_CONF"
sed -i 's/;*group = .*/group = apache/' "$PHP_FPM_CONF"
# Создаем директорию для сокета
socket_dir=$(dirname "$SOCKET_PATH")
mkdir -p "$socket_dir"
chown apache:apache "$socket_dir"
chmod 755 "$socket_dir"
# Запускаем сервис
log_info "Запуск $PHP_FPM_SERVICE..."
if systemctl start "$PHP_FPM_SERVICE"; then
log_success "$PHP_FPM_SERVICE запущен успешно"
systemctl enable "$PHP_FPM_SERVICE"
# Проверяем создание сокета
sleep 3
if [ -S "$SOCKET_PATH" ]; then
log_success "Сокет создан: $SOCKET_PATH"
chown apache:apache "$SOCKET_PATH"
else
log_warning "Сокет не создан, проверяем статус..."
systemctl status "$PHP_FPM_SERVICE" --no-pager
fi
else
log_error "Не удалось запустить $PHP_FPM_SERVICE"
systemctl status "$PHP_FPM_SERVICE" --no-pager
exit 1
fi
# Обновляем конфигурацию Apache
log_info "Обновление конфигурации Apache..."
cat > /etc/httpd/conf.d/php-fpm.conf << EOF
# PHP-FPM configuration for Apache
<IfModule !mod_proxy.c>
LoadModule proxy_module modules/mod_proxy.so
</IfModule>
<IfModule !mod_proxy_fcgi.c>
LoadModule proxy_fcgi_module modules/mod_proxy_fcgi.so
</IfModule>
# Обработка PHP файлов через PHP-FPM
<FilesMatch \.php$>
SetHandler "proxy:unix:$SOCKET_PATH|fcgi://localhost"
</FilesMatch>
# Настройки производительности
ProxyTimeout 300
EOF
# Тестируем конфигурацию Apache
log_info "Тестирование конфигурации Apache..."
if httpd -t; then
log_success "Конфигурация Apache корректна"
else
log_error "Ошибка в конфигурации Apache"
fi
# Перезапускаем Apache
log_info "Перезапуск Apache..."
if systemctl restart httpd; then
log_success "Apache перезапущен"
else
log_error "Не удалось перезапустить Apache"
fi
# Финальная проверка
log_info "Финальная проверка сервисов..."
echo "--- Статус PHP-FPM ---"
systemctl status "$PHP_FPM_SERVICE" --no-pager
echo "--- Статус Apache ---"
systemctl status httpd --no-pager
# Проверяем PHP
log_info "Проверка PHP..."
if command -v php >/dev/null 2>&1; then
php_version=$(php -v | head -1)
log_success "PHP работает: $php_version"
else
log_warning "PHP не найден в PATH, проверяем php83..."
if /opt/remi/php83/root/usr/bin/php -v >/dev/null 2>&1; then
php_version=$(/opt/remi/php83/root/usr/bin/php -v | head -1)
log_success "PHP 8.3 найден: $php_version"
# Создаем символическую ссылку
ln -sf /opt/remi/php83/root/usr/bin/php /usr/bin/php
log_info "Создана символическая ссылка для PHP"
fi
fi
echo ""
log_success "Исправление завершено!"
echo ""
echo "Проверьте работу сайта: http://localhost/"
echo "Логи PHP-FPM: /var/opt/remi/php83/log/php-fpm/ или /var/log/php-fpm/"
echo "Логи Apache: /var/log/httpd/"

View File

@@ -359,6 +359,7 @@ remove_old_packages() {
if [ "$DISTRO_FAMILY" = "debian" ]; then if [ "$DISTRO_FAMILY" = "debian" ]; then
export DEBIAN_FRONTEND=noninteractive export DEBIAN_FRONTEND=noninteractive
# Удаление старых версий MariaDB
for db_package in mariadb-server mysql-server; do for db_package in mariadb-server mysql-server; do
for version in "" "-10.3" "-10.5" "-10.6" "-10.11" "-5.7" "-8.0"; do for version in "" "-10.3" "-10.5" "-10.6" "-10.11" "-5.7" "-8.0"; do
echo "${db_package}${version} mysql-server/remove-data-dir boolean true" | debconf-set-selections 2>/dev/null || true echo "${db_package}${version} mysql-server/remove-data-dir boolean true" | debconf-set-selections 2>/dev/null || true
@@ -370,10 +371,50 @@ remove_old_packages() {
apt remove --purge -y -o Dpkg::Options::="--force-confdef" -o Dpkg::Options::="--force-confold" mariadb* mysql* 2>/dev/null || true apt remove --purge -y -o Dpkg::Options::="--force-confdef" -o Dpkg::Options::="--force-confold" mariadb* mysql* 2>/dev/null || true
apt autoremove -y 2>/dev/null || true apt autoremove -y 2>/dev/null || true
else else
$PKG_MANAGER remove -y nginx php php7* php80* php81* php82* mariadb* mysql* 2>/dev/null || true # Для RHEL семейства - удаляем только ненужные версии PHP
log_info "Очистка конфликтующих пакетов PHP..."
# Останавливаем все PHP-FPM сервисы перед удалением
for service in php-fpm php74-php-fpm php80-php-fpm php81-php-fpm php82-php-fpm php84-php-fpm php85-php-fpm; do
systemctl stop "$service" 2>/dev/null || true
systemctl disable "$service" 2>/dev/null || true
done
# Удаляем ненужные версии PHP, оставляем только php83
$PKG_MANAGER remove -y nginx 2>/dev/null || true
$PKG_MANAGER remove -y php php7* php80* php81* php82* php84* php85* 2>/dev/null || true
$PKG_MANAGER remove -y mariadb* mysql* 2>/dev/null || true
# Очищаем конфигурации
rm -rf /etc/php-fpm.d/*.conf.rpmsave /etc/opt/remi/php*/php-fpm.d/*.conf.rpmsave 2>/dev/null || true
fi fi
# Общая очистка
rm -rf /var/lib/mysql* /etc/mysql* /var/log/mysql* /etc/my.cnf* 2>/dev/null || true rm -rf /var/lib/mysql* /etc/mysql* /var/log/mysql* /etc/my.cnf* 2>/dev/null || true
log_success "Очистка пакетов завершена"
}
diagnose_php_fpm() {
log_info "Диагностика PHP-FPM..."
echo "=== Установленные PHP пакеты ===" | tee -a "$LOG_FILE"
rpm -qa | grep -E "php[0-9]*" | sort | tee -a "$LOG_FILE"
echo "=== Доступные PHP-FPM сервисы ===" | tee -a "$LOG_FILE"
systemctl list-unit-files | grep php-fpm | tee -a "$LOG_FILE"
echo "=== Статус PHP сервисов ===" | tee -a "$LOG_FILE"
for service in php-fpm php83-php-fpm php82-php-fpm php81-php-fpm php80-php-fpm; do
if systemctl list-unit-files | grep -q "${service}.service"; then
echo "--- $service ---" | tee -a "$LOG_FILE"
systemctl status "$service" --no-pager -l | tee -a "$LOG_FILE"
fi
done
echo "=== Конфигурационные файлы PHP-FPM ===" | tee -a "$LOG_FILE"
find /etc -name "*php-fpm*" -type f 2>/dev/null | tee -a "$LOG_FILE"
find /etc/opt/remi -name "*php-fpm*" -type f 2>/dev/null | tee -a "$LOG_FILE"
} }
install_mariadb() { install_mariadb() {
@@ -411,22 +452,45 @@ install_php83() {
export DEBIAN_FRONTEND=noninteractive export DEBIAN_FRONTEND=noninteractive
local php_packages="php8.3 php8.3-cli php8.3-common php8.3-mysql php8.3-curl php8.3-gd php8.3-mbstring php8.3-xml php8.3-zip php8.3-opcache php8.3-intl php8.3-bcmath php8.3-json php8.3-readline libapache2-mod-php8.3" local php_packages="php8.3 php8.3-cli php8.3-common php8.3-mysql php8.3-curl php8.3-gd php8.3-mbstring php8.3-xml php8.3-zip php8.3-opcache php8.3-intl php8.3-bcmath php8.3-json php8.3-readline libapache2-mod-php8.3"
else else
if $PKG_MANAGER list available | grep -q "php83-php\b"; then # Для RHEL семейства устанавливаем только PHP 8.3 пакеты
local php_packages="php83-php php83-php-cli php83-php-common php83-php-mysqlnd php83-php-curl php83-php-gd php83-php-mbstring php83-php-xml php83-php-zip php83-php-opcache php83-php-intl php83-php-bcmath php83-php-json php83-php-fpm" local php_packages="php83-php php83-php-cli php83-php-common php83-php-mysqlnd php83-php-curl php83-php-gd php83-php-mbstring php83-php-xml php83-php-zip php83-php-opcache php83-php-intl php83-php-bcmath php83-php-json php83-php-fpm"
else
local php_packages="php php-cli php-common php-mysqlnd php-curl php-gd php-mbstring php-xml php-zip php-opcache php-intl php-bcmath php-json php-fpm" # Убеждаемся, что включен правильный модуль
if command -v dnf >/dev/null 2>&1; then
dnf module reset php -y 2>/dev/null || true
dnf module install php:remi-8.3 -y 2>/dev/null || true
fi fi
fi fi
if ! $PKG_MANAGER install -y $php_packages >/dev/null 2>&1; then log_info "Устанавливаем пакеты: $php_packages"
if ! $PKG_MANAGER install -y $php_packages; then
log_error "Не удалось установить PHP пакеты. Подробности в логе: $LOG_FILE" log_error "Не удалось установить PHP пакеты. Подробности в логе: $LOG_FILE"
$PKG_MANAGER install -y $php_packages 2>&1 | tee -a "$LOG_FILE" $PKG_MANAGER install -y $php_packages 2>&1 | tee -a "$LOG_FILE"
exit 1 exit 1
fi fi
if command -v php83 >/dev/null 2>&1 && [ ! -f /usr/bin/php ]; then # Для RHEL - создаем символические ссылки
ln -sf /opt/remi/php83/root/usr/bin/php /usr/bin/php 2>/dev/null || true if [ "$DISTRO_FAMILY" = "rhel" ]; then
# Создаем символические ссылки для php83
if [ -f /opt/remi/php83/root/usr/bin/php ] && [ ! -f /usr/bin/php ]; then
ln -sf /opt/remi/php83/root/usr/bin/php /usr/bin/php
fi
# Добавляем в PATH
echo 'export PATH=/opt/remi/php83/root/usr/bin:$PATH' > /etc/profile.d/php83.sh echo 'export PATH=/opt/remi/php83/root/usr/bin:$PATH' > /etc/profile.d/php83.sh
source /etc/profile.d/php83.sh 2>/dev/null || true
# Устанавливаем переменные для PHP-FPM
PHP_FPM_SERVICE="php83-php-fpm"
PHP_FPM_CONF="/etc/opt/remi/php83/php-fpm.d/www.conf"
SOCKET_PATH="/var/opt/remi/php83/run/php-fpm/www.sock"
PHP_INI_PATH="/etc/opt/remi/php83/php.ini"
log_info "Настроены пути для PHP 8.3:"
log_info " PHP: /opt/remi/php83/root/usr/bin/php"
log_info " PHP-FPM: $PHP_FPM_SERVICE"
log_info " Socket: $SOCKET_PATH"
fi fi
verify_php_installation verify_php_installation
@@ -465,9 +529,15 @@ verify_php_extensions() {
local required_extensions="mysqli pdo_mysql curl gd mbstring xml zip opcache intl bcmath json" local required_extensions="mysqli pdo_mysql curl gd mbstring xml zip opcache intl bcmath json"
local missing_extensions="" local missing_extensions=""
local php_cmd="php"
# Для RHEL используем полный путь к php83
if [ "$DISTRO_FAMILY" = "rhel" ] && [ -f /opt/remi/php83/root/usr/bin/php ]; then
php_cmd="/opt/remi/php83/root/usr/bin/php"
fi
for ext in $required_extensions; do for ext in $required_extensions; do
if php -m 2>/dev/null | grep -q "^$ext$"; then if $php_cmd -m 2>/dev/null | grep -q "^$ext$"; then
log_success "Расширение $ext: установлено" log_success "Расширение $ext: установлено"
else else
log_warning "Расширение $ext: НЕ найдено" log_warning "Расширение $ext: НЕ найдено"
@@ -478,6 +548,16 @@ verify_php_extensions() {
if [ -n "$missing_extensions" ]; then if [ -n "$missing_extensions" ]; then
log_warning "Попытка установки отсутствующих расширений:$missing_extensions" log_warning "Попытка установки отсутствующих расширений:$missing_extensions"
install_missing_php_extensions "$missing_extensions" install_missing_php_extensions "$missing_extensions"
# Повторная проверка после установки
log_info "Повторная проверка расширений..."
for ext in $missing_extensions; do
if $php_cmd -m 2>/dev/null | grep -q "^$ext$"; then
log_success "Расширение $ext: теперь установлено"
else
log_warning "Расширение $ext: все еще отсутствует"
fi
done
fi fi
} }
@@ -486,19 +566,32 @@ install_missing_php_extensions() {
if [ "$DISTRO_FAMILY" = "debian" ]; then if [ "$DISTRO_FAMILY" = "debian" ]; then
for ext in $missing_extensions; do for ext in $missing_extensions; do
if [[ "$ext" =~ ^(mysqli|pdo_mysql)$ ]]; then case $ext in
mysqli|pdo_mysql)
apt install -y php8.3-mysql 2>/dev/null || true apt install -y php8.3-mysql 2>/dev/null || true
else ;;
opcache)
apt install -y php8.3-opcache 2>/dev/null || true
;;
*)
apt install -y "php8.3-$ext" 2>/dev/null || true apt install -y "php8.3-$ext" 2>/dev/null || true
fi ;;
esac
done done
else else
# Для RHEL используем пакеты php83
for ext in $missing_extensions; do for ext in $missing_extensions; do
if [[ "$ext" =~ ^(mysqli|pdo_mysql)$ ]]; then case $ext in
$PKG_MANAGER install -y php*-mysqlnd 2>/dev/null || true mysqli|pdo_mysql)
else $PKG_MANAGER install -y php83-php-mysqlnd 2>/dev/null || true
$PKG_MANAGER install -y "php*-$ext" 2>/dev/null || true ;;
fi opcache)
$PKG_MANAGER install -y php83-php-opcache 2>/dev/null || true
;;
*)
$PKG_MANAGER install -y "php83-php-$ext" 2>/dev/null || true
;;
esac
done done
fi fi
} }
@@ -583,19 +676,49 @@ EOF
configure_php_fpm() { configure_php_fpm() {
log_info "Настройка PHP-FPM..." log_info "Настройка PHP-FPM..."
if [ -z "$PHP_FPM_CONF" ] || [ ! -f "$PHP_FPM_CONF" ]; then # Определяем правильный сервис PHP-FPM
PHP_FPM_CONF=$(find /etc/opt/remi/ -name www.conf 2>/dev/null | head -1) if systemctl list-unit-files | grep -q "php83-php-fpm.service"; then
if [ -z "$PHP_FPM_CONF" ]; then PHP_FPM_SERVICE="php83-php-fpm"
PHP_FPM_CONF=$(find /etc/ -name www.conf 2>/dev/null | head -1) PHP_FPM_CONF="/etc/opt/remi/php83/php-fpm.d/www.conf"
SOCKET_PATH="/var/opt/remi/php83/run/php-fpm/www.sock"
PHP_INI_PATH="/etc/opt/remi/php83/php.ini"
elif systemctl list-unit-files | grep -q "php-fpm.service"; then
PHP_FPM_SERVICE="php-fpm"
PHP_FPM_CONF="/etc/php-fpm.d/www.conf"
SOCKET_PATH="/run/php-fpm/www.sock"
PHP_INI_PATH="/etc/php.ini"
else
log_error "PHP-FPM сервис не найден"
return 1
fi fi
if [ -z "$PHP_FPM_CONF" ]; then
log_error "Файл конфигурации PHP-FPM не найден" log_info "Используется сервис: $PHP_FPM_SERVICE"
exit 1 log_info "Конфигурация: $PHP_FPM_CONF"
# Проверяем существование конфигурационного файла
if [ ! -f "$PHP_FPM_CONF" ]; then
log_error "Файл конфигурации PHP-FPM не найден: $PHP_FPM_CONF"
# Ищем альтернативные пути
log_info "Поиск альтернативных конфигураций..."
for conf_path in "/etc/opt/remi/php83/php-fpm.d/www.conf" "/etc/php-fpm.d/www.conf" "/etc/opt/remi/php*/php-fpm.d/www.conf"; do
if [ -f "$conf_path" ]; then
PHP_FPM_CONF="$conf_path"
log_info "Найден конфигурационный файл: $PHP_FPM_CONF"
break
fi
done
if [ ! -f "$PHP_FPM_CONF" ]; then
log_error "Конфигурационный файл PHP-FPM не найден"
return 1
fi fi
fi fi
# Создаем резервную копию
cp "$PHP_FPM_CONF" "${PHP_FPM_CONF}.backup.$(date +%Y%m%d_%H%M%S)" cp "$PHP_FPM_CONF" "${PHP_FPM_CONF}.backup.$(date +%Y%m%d_%H%M%S)"
# Настраиваем конфигурацию
sed -i "s|;*listen = .*|listen = $SOCKET_PATH|" "$PHP_FPM_CONF" sed -i "s|;*listen = .*|listen = $SOCKET_PATH|" "$PHP_FPM_CONF"
sed -i 's/;*listen.owner = .*/listen.owner = apache/' "$PHP_FPM_CONF" sed -i 's/;*listen.owner = .*/listen.owner = apache/' "$PHP_FPM_CONF"
sed -i 's/;*listen.group = .*/listen.group = apache/' "$PHP_FPM_CONF" sed -i 's/;*listen.group = .*/listen.group = apache/' "$PHP_FPM_CONF"
@@ -603,26 +726,50 @@ configure_php_fpm() {
sed -i 's/;*user = .*/user = apache/' "$PHP_FPM_CONF" sed -i 's/;*user = .*/user = apache/' "$PHP_FPM_CONF"
sed -i 's/;*group = .*/group = apache/' "$PHP_FPM_CONF" sed -i 's/;*group = .*/group = apache/' "$PHP_FPM_CONF"
# Настройки производительности
sed -i 's/;*pm = .*/pm = dynamic/' "$PHP_FPM_CONF" sed -i 's/;*pm = .*/pm = dynamic/' "$PHP_FPM_CONF"
sed -i 's/;*pm.max_children = .*/pm.max_children = 50/' "$PHP_FPM_CONF" sed -i 's/;*pm.max_children = .*/pm.max_children = 50/' "$PHP_FPM_CONF"
sed -i 's/;*pm.start_servers = .*/pm.start_servers = 5/' "$PHP_FPM_CONF" sed -i 's/;*pm.start_servers = .*/pm.start_servers = 5/' "$PHP_FPM_CONF"
sed -i 's/;*pm.min_spare_servers = .*/pm.min_spare_servers = 5/' "$PHP_FPM_CONF" sed -i 's/;*pm.min_spare_servers = .*/pm.min_spare_servers = 5/' "$PHP_FPM_CONF"
sed -i 's/;*pm.max_spare_servers = .*/pm.max_spare_servers = 35/' "$PHP_FPM_CONF" sed -i 's/;*pm.max_spare_servers = .*/pm.max_spare_servers = 35/' "$PHP_FPM_CONF"
# Создаем директорию для сокета
local socket_dir=$(dirname "$SOCKET_PATH") local socket_dir=$(dirname "$SOCKET_PATH")
mkdir -p "$socket_dir" mkdir -p "$socket_dir"
chown apache:apache "$socket_dir"
chmod 775 "$socket_dir"
chown apache:apache "$socket_dir" chown apache:apache "$socket_dir"
chmod 755 "$socket_dir"
safe_execute "Запуск PHP-FPM" systemctl start "$PHP_FPM_SERVICE" # Останавливаем все PHP-FPM сервисы
safe_execute "Включение PHP-FPM в автозагрузку" systemctl enable "$PHP_FPM_SERVICE" log_info "Остановка всех PHP-FPM сервисов..."
for service in php-fpm php83-php-fpm php82-php-fpm php81-php-fpm php80-php-fpm php74-php-fpm; do
systemctl stop "$service" 2>/dev/null || true
systemctl disable "$service" 2>/dev/null || true
done
if ! systemctl is-active --quiet "$PHP_FPM_SERVICE"; then # Запускаем нужный сервис
log_error "PHP-FPM не удалось запустить" log_info "Запуск $PHP_FPM_SERVICE..."
if systemctl start "$PHP_FPM_SERVICE"; then
log_success "$PHP_FPM_SERVICE запущен"
systemctl enable "$PHP_FPM_SERVICE"
# Проверяем создание сокета
local retry_count=0
while [ ! -S "$SOCKET_PATH" ] && [ $retry_count -lt 10 ]; do
sleep 1
((retry_count++))
done
if [ -S "$SOCKET_PATH" ]; then
log_success "Сокет PHP-FPM создан: $SOCKET_PATH"
chown apache:apache "$SOCKET_PATH"
else
log_warning "Сокет PHP-FPM не создан, проверяем статус..."
systemctl status "$PHP_FPM_SERVICE" --no-pager -l | tee -a "$LOG_FILE" systemctl status "$PHP_FPM_SERVICE" --no-pager -l | tee -a "$LOG_FILE"
exit 1 fi
else
log_error "Не удалось запустить $PHP_FPM_SERVICE"
systemctl status "$PHP_FPM_SERVICE" --no-pager -l | tee -a "$LOG_FILE"
return 1
fi fi
} }