Hestia 1.8.11 changed PHP Version

Hello everyone, on the new release Hestia 1.8.11 something changed my users/domain PHP version from 7.4 to 8.1

Anyone know something about that?

bit of context

I use custom templates to support Yii2 framework, copied from the original templates 7.4

  • PHP-FPM /usr/local/hestia/data/templates/web/php-fpm/PHP-7_4-custom.tpl
  • Nginx - PHP FPM /usr/local/hestia/data/templates/web/nginx/php-fpm/yii2.tpl
  • I had enabled automatic updates from Hestia

Questions

  • How to check and setup the ‘%backend_version%’ variable?
  • How to prevent next time update from changing my php version?

My templates

yii2.tpl - Nginx - PHP FPM

#=========================================================================#
# Default Web Domain Template                                             #
# DO NOT MODIFY THIS FILE! CHANGES WILL BE LOST WHEN REBUILDING DOMAINS   #
# https://hestiacp.com/docs/server-administration/web-templates.html      #
#=========================================================================#

server {
	listen      %ip%:%web_port%;
	server_name %domain_idn% %alias_idn%;
	root        %docroot%;
	index       index.php index.html index.htm;
	access_log  /var/log/nginx/domains/%domain%.log combined;
	access_log  /var/log/nginx/domains/%domain%.bytes bytes;
	error_log   /var/log/nginx/domains/%domain%.error.log error;

	include %home%/%user%/conf/web/%domain%/nginx.forcessl.conf*;

	location ~ /\.(?!well-known\/) {
		deny all;
		return 404;
	}

    # deny accessing php files for the /assets directory
    location ~ ^/assets/.*\.php$ {
        deny all;
    }

    location = /favicon.ico {
        log_not_found off;
        access_log off;
    }

    location = /robots.txt {
        allow all;
        log_not_found off;
        access_log off;
    }

	location / {
        try_files $uri $uri/ /index.php$is_args$args;

		location ~* ^.+\.(ogv|svg|svgz|swf|eot|otf|woff|woff2|mov|mp3|mp4|webm|flv|ttf|rss|atom|jpg|jpeg|gif|png|webp|ico|bmp|mid|midi|wav|rtf|css|js|jar)$ {
			expires max;
			fastcgi_hide_header "Set-Cookie";
		}

		location ~ [^/]\.php(/|$) {
			try_files $uri =404;

			include /etc/nginx/fastcgi_params;

			fastcgi_index index.php;
			fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;

			fastcgi_pass %backend_lsnr%;

			include %home%/%user%/conf/web/%domain%/nginx.fastcgi_cache.conf*;
		}
	}

	location /error/ {
		alias %home%/%user%/web/%domain%/document_errors/;
	}

	location /vstats/ {
		alias   %home%/%user%/web/%domain%/stats/;
		include %home%/%user%/web/%domain%/stats/auth.conf*;
	}

	include /etc/nginx/conf.d/phpmyadmin.inc*;
	include /etc/nginx/conf.d/phppgadmin.inc*;
	include %home%/%user%/conf/web/%domain%/nginx.conf_*;
}

PHP-7_4-custom.tpl - PHP-FPM

; origin-src: deb/php-fpm/multiphp.tpl
;#=========================================================================#
;# Default Web Domain Template                                             #
;# DO NOT MODIFY THIS FILE! CHANGES WILL BE LOST WHEN REBUILDING DOMAINS   #
;# https://hestiacp.com/docs/server-administration/web-templates.html      #
;#=========================================================================#

[%domain%]
listen = /run/php/php%backend_version%-fpm-%domain%.sock
listen.owner = %user%
listen.group = www-data
listen.mode = 0660

user = %user%
group = %user%

pm = ondemand
pm.max_children = 16
pm.max_requests = 8000
pm.process_idle_timeout = 10s
pm.status_path = /status

php_admin_value[upload_tmp_dir] = /home/%user%/tmp
php_admin_value[session.save_path] = /home/%user%/tmp
php_admin_value[open_basedir] = /home/%user%/.composer:/home/%user%/web/%domain%/public_html:/home/%user%/web/%domain%/private:/home/%user%/web/%domain%/public_shtml:/home/%user%/tmp:/tmp:/var/www/html:/bin:/usr/bin:/usr/local/bin:/usr/share:/opt
php_admin_value[sendmail_path] = /usr/sbin/sendmail -t -i -f admin@%domain%

env[PATH] = /usr/local/bin:/usr/bin:/bin
env[TMP] = /home/%user%/tmp
env[TMPDIR] = /home/%user%/tmp
env[TEMP] = /home/%user%/tmp

WARNING

Due to the fact we use multi PHP we need to recognise the PHP version to be used. Therefore we use the following naming scheme: YOURNAME-PHP-X_Y.tpl, where X_Y is your PHP version.

For example a PHP 8.1 template would be YOURNAME-PHP-8_1.tpl.

And not PHP-7_4-custom.tpl

Otherwise the detection will not work properly

How ever we haven’t changed any default php version for any version availble…

1 Like

Thank you Eris
My system default was PHP 8.1
So probably on the last release something reload and wasn’t possible to identify my version because was not in YOURNAME-PHP-8_1.tpl format, then my website picked the default 8.1, changing from the previous 7.4

Rename the template to the format above and it should work fine

1 Like

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.