Skip to content

Commit b5d17e2

Browse files
author
Alexandros Ioannides
authored
Upgrade PHP Script (manually) (hestiacp#1563)
* Upgrade PHP Script (manually) Tested on setups with no multiphp and nginx only (without Apache) * Rename upgrade_php to upgrade_php.sh
1 parent abec502 commit b5d17e2

File tree

1 file changed

+52
-0
lines changed

1 file changed

+52
-0
lines changed
Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
#!/bin/bash
2+
3+
if [ ! -x "$(command -v php)" ]; then
4+
echo "PHP is not installed. Aborting."
5+
exit 1
6+
fi
7+
8+
phpnewversion=7.4
9+
phpoldversion=7.3
10+
echo "PHP current: $phpoldversion"
11+
echo "PHP target : $phpnewversion"
12+
echo "Do you want to upgrade PHP now? [Y|N]"
13+
read upgradeconfirmation
14+
if [ "$upgradeconfirmation" = "Y" ] || [ "$upgradeconfirmation" = "y" ]; then
15+
echo "Process: Upgrading PHP to $phpnewversion"
16+
echo ""
17+
cd /tmp
18+
dpkg-query --showformat='${Package}\t\n' --show | grep php$phpoldversion > /tmp/phpoldpackages.txt
19+
cp -a /tmp/phpoldpackages.txt /tmp/phpnewpackages.txt
20+
sed -i "s|$phpoldversion|$phpnewversion|g" /tmp/phpnewpackages.txt
21+
apt-get update > /dev/null 2>&1
22+
apt-get install $(cat /tmp/phpnewpackages.txt)
23+
update-rc.d php$phpnewversion-fpm defaults
24+
mv /etc/php/$phpoldversion/cli/php.ini /etc/php/$phpnewversion/cli/php.ini
25+
mv /etc/php/$phpoldversion/fpm/php.ini /etc/php/$phpnewversion/fpm/php.ini
26+
sed -i "s|$phpoldversion|$phpnewversion|g" /etc/php/$phpoldversion/fpm/php-fpm.conf
27+
mv /etc/php/$phpoldversion/fpm/php-fpm.conf /etc/php/$phpnewversion/fpm/php-fpm.conf
28+
rm -rf /etc/php/$phpnewversion/fpm/pool.d
29+
mkdir -p /etc/php/$phpnewversion/fpm/pool.d
30+
mv /etc/php/$phpoldversion/fpm/pool.d/* /etc/php/$phpnewversion/fpm/pool.d
31+
mv /etc/logrotate.d/php$phpoldversion-fpm /etc/logrotate.d/php$phpnewversion-fpm
32+
sed -i "s|$phpoldversion|$phpnewversion|g" /etc/logrotate.d/php$phpnewversion-fpm
33+
rm -rf /etc/logrotate.d/php$phpnewversion-fpm.dpkg-dist
34+
systemctl stop php$phpoldversion-php
35+
apt-get purge $(cat /tmp/phpoldpackages.txt)
36+
apt-get -y purge php-imagick
37+
apt-get -y install php$phpnewversion-imagick
38+
systemctl restart php$phpnewversion-fpm
39+
rm -rf /etc/php/$phpoldversion
40+
rm -rf /var/lib/php/modules/$phpoldversion
41+
rm -rf /tmp/phpoldpackages.txt
42+
rm -rf /tmp/phpnewpackages.txt
43+
if [ -d /var/cache/nginx/micro ]; then
44+
rm -rf /var/cache/nginx/micro/*
45+
fi
46+
systemctl reload nginx
47+
echo ""
48+
echo "PHP has been upgraded succcesfully to version $phpnewversion"
49+
else
50+
echo "Process: Aborted"
51+
exit 0
52+
fi

0 commit comments

Comments
 (0)