-
Notifications
You must be signed in to change notification settings - Fork 21
Expand file tree
/
Copy pathinstall-php.sh
More file actions
121 lines (88 loc) · 4.3 KB
/
install-php.sh
File metadata and controls
121 lines (88 loc) · 4.3 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
#!/bin/bash
set -x
# Supports AWS Linux and Centos 8
PHP_VERSION="${PHP_VERSION:-7.4}"
echo $PHP_VERSION
LINUX_VERSION=$(cat /etc/system-release)
sudo yum install make -y
echo $LINUX_VERSION
sudo yum remove php* -y
if echo $LINUX_VERSION | grep -q "Amazon Linux release 2"
then
# TO DO MOVE REPOS to THE initial SCRITt
sudo amazon-linux-extras enable php${PHP_VERSION}
sudo yum clean metadata
# to downgarede use disable command
#sudo amazon-linux-extras disable php${PHP_VERSION}
# sudo yum remove php* -y
# sudo yum autoremove php php-common
sudo yes | sudo amazon-linux-extras install php${PHP_VERSION}
# sudo yum install php php-{pear,cgi,common,curl,mbstring,gd,mysqlnd,gettext,bcmath,json,xml,fpm,intl,zip,imap}
OS_RELATED = " php-redis php-pear libmcrypt libmcrypt-devel php-mcrypt "
## REmi repo
# sudo yum install http://rpms.remirepo.net/enterprise/remi-release-7.rpm
# sudo yum --disablerepo="*" --enablerepo="remi-safe" list php[7-9][0-9].x86_64
# sudo yum-config-manager --setopt="remi-php73.priority=5" --enable remi-php73
# sudo yum install php php-common php-mysqlnd php-opcache php-xml php-gd php-soap php-bcmath php-intl php-mbstring php-json php-iconv php-fpm php-apcu php-zip php-devel
# wget https://downloads.ioncube.com/loader_downloads/ioncube_loaders_lin_x86-64.tar.gz
# tar -zxvf ioncube_loaders_lin_x86*
# sudo cp ioncube/ioncube_loader_lin_7.3.so /usr/lib64/php/
# Then add below line as the first line in the respective php.ini files.
# zend_extension = /usr/lib64/php/ioncube_loader_lin_7.3.so
# sudo yum install nginx -y
elif echo $LINUX_VERSION | grep -q "CentOS Linux release 8"
then
# TO DO MOVE REPOS to THE initial SCRITt
#yum install https://rpms.remirepo.net/enterprise/remi-release-8.rpm -y
sudo dnf install dnf-utils http://rpms.remirepo.net/enterprise/remi-release-8.rpm -y
## ARM instances has issues with remi repo - remi doesn't support ARM
yum install config-manager -y
#yum config-manager --set-enabled remi
sudo yum module list php
yum module reset php -y
sudo dnf module list reset php -y
yes | sudo yum module enable php:$PHP_VERSION
yes | sudo dnf module enable php:remi-$PHP_VERSION
#yum module reset php -y
#yum -y module enable php:remi-$PHP_VERSION
sudo yum -y install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm
OS_RELATED=" php74-php-pecl-mcrypt php74-php-pecl-redis "
elif echo $LINUX_VERSION | grep -q "Oracle Linux Server release 8"
then
# TO DO MOVE REPOS to THE initial SCRITt
yum module reset php -y
yes | sudo dnf module enable php:${PHP_VERSION} -y
sudo yum -y install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm
OS_RELATED=" php74-php-pecl-mcrypt php74-php-pecl-redis "
sudo setenforce Permissive
else
echo "$LINUX_VERSION Linux is not supported"
exit 1
fi
sudo yum -y install php php-common php-pear php-mysqlnd php-opcache php-xml php-gd php-soap php-bcmath php-intl php-mbstring php-json php-iconv php-fpm php-apcu php-zip php-devel
sudo yum -y install $OS_RELATED
sudo yum install libsodium libsodium-devel -y
sudo yum install libzip-devel -y
sudo yum install libzstd-devel -y
yes | sudo pecl install libsodium
yes | sudo pecl install igbinary
yes | sudo pecl install redis
echo "extension=igbinary.so" | sudo tee /etc/php.d/10-igbin.ini
echo "extension=redis.so" | sudo tee /etc/php.d/50-redis.ini
echo "extension=sodium.so" | sudo tee /etc/php.d/20-sodium.ini
## downgrade php
#
# yum remove php-cli mod_php php-common
#
# yum module reset php -y
# yum -y module enable php:remi-7.2
# https://computingforgeeks.com/enable-powertools-repository-on-centos-rhel-linux/
# yum install php-common php-mysqlnd php-opcache php-xml php-gd php-soap php-bcmath php-intl php-mbstring php-json php-iconv php-fpm php-apcu php-zip php-devel php72-php-pecl-mcrypt php72-php-pecl-redis
# sudo yum --enablerepo="power*" --enablerepo="epel" install php-common php-mysqlnd php-opcache php-xml php-gd php-soap php-bcmath php-intl php-mbstring php-json php-iconv php-fpm php-apcu php-zip php-devel php73-php-pecl-mcrypt php73-php-pecl-redis
bash ./install-libsodium.sh
sudo yum install php-fpm -y
service php-fpm start
systemctl enable php-fpm
sudo chmod -R 775 /var/log/php-fpm/
echo "PHP $PHP_VERSION is installed "
# sudo pecl install mcrypt-1.0.2 -y