Инфраструктура и серверы/ ISPManager

Composer + ISPManager 6 + PHP 8.4

1. Установка Composer от root

Ставим Composer глобально в /usr/local/bin, чтобы он был доступен всем пользователям сервера.

php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
php composer-setup.php
php -r "unlink('composer-setup.php');"
chmod +x composer.phar
mv composer.phar /usr/local/bin/composer

Проверка:

composer --version

2. PHP 8.4 для Composer у конкретного пользователя

По умолчанию Composer запускается на системном PHP. Чтобы конкретный пользователь работал на PHP 8.4, добавляем обёртку в ~/bin/php.

Зайти под нужным пользователем:

su - USERNAME

Создать папку и файл:

mkdir -p ~/bin
touch ~/bin/php

Содержимое ~/bin/php:

#!/bin/sh
PHP_EXEC="/opt/php84/bin/php -c /var/www/USERNAME/data/php-bin-isp-php84"
$PHP_EXEC "$@"

Сделать исполняемым:

chmod +x ~/bin/php

Добавить ~/bin в PATH:

echo "export PATH=$HOME/bin:$PATH" >> ~/.bash_profile
source ~/.bash_profile

Проверить PHP и запускать Composer:

php -v
composer install
composer update

3. PHP 8.4 для Composer для всех пользователей

Альтернатива обёртке — отдельная команда composer84, которая всегда использует PHP 8.4.

Создать команду:

touch /usr/local/bin/composer84

Содержимое /usr/local/bin/composer84:

#!/bin/bash
env PATH="/opt/php84/bin:$PATH" php /usr/local/bin/composer "$@"

Выдать права и проверить:

chmod +x /usr/local/bin/composer84
composer84 --version

Использование:

composer84 install
composer84 update
composer84 require vendor/package

4. Шпаргалка по путям

ЧтоПуть
PHP 8.4/opt/php84/bin/php
Конфиги PHP пользователя/var/www/USERNAME/data/php-bin-isp-php84
Composer/usr/local/bin/composer
Wrapper для PHP 8.4/usr/local/bin/composer84

Не забыть

Заменить USERNAME на реальное имя пользователя в ISPManager.

Теги

Читать дальше