rhymix/.github/workflows/setup-php.sh
2025-10-23 16:41:50 +09:00

59 lines
1.4 KiB
Bash

#!/bin/bash
# Based on https://github.com/nanasess/setup-php
sudo add-apt-repository -y ppa:ondrej/php
# Install all required packages
if [[ "$1" == "8.5" ]]; then
sudo apt -y install \
php$1-bcmath \
php$1-cli \
php$1-common \
php$1-curl \
php$1-gd \
php$1-intl \
php$1-mbstring \
php$1-mysql \
php$1-readline \
php$1-sqlite3 \
php$1-xml \
php$1-zip
else
sudo apt -y install \
php$1-apcu \
php$1-bcmath \
php$1-cli \
php$1-common \
php$1-curl \
php$1-gd \
php$1-intl \
php$1-mbstring \
php$1-mysql \
php$1-opcache \
php$1-readline \
php$1-sqlite3 \
php$1-xml \
php$1-zip
fi
# Adjust php.ini settings
if [[ "$1" == "8.5" ]]; then
sudo bash -c "echo 'register_argc_argv = On' >> /etc/php/$1/cli/php.ini"
else
sudo bash -c "echo 'opcache.enable = 1' >> /etc/php/$1/cli/conf.d/10-opcache.ini"
sudo bash -c "echo 'opcache.enable_cli = 1' >> /etc/php/$1/cli/conf.d/10-opcache.ini"
sudo bash -c "echo 'opcache.jit = tracing' >> /etc/php/$1/cli/conf.d/10-opcache.ini"
sudo bash -c "echo 'opcache.jit_buffer_size = 128M' >> /etc/php/$1/cli/conf.d/10-opcache.ini"
fi
# Enable APCu
if [ -f "/etc/php/$1/cli/conf.d/20-apcu.ini" ]; then
sudo bash -c "echo 'apc.enable_cli = 1' >> /etc/php/$1/cli/conf.d/20-apcu.ini"
fi
# Disable xdebug
sudo phpdismod -v ALL -s ALL xdebug
# Set and check default PHP version
sudo update-alternatives --set php /usr/bin/php$1
php -v