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.