I don't understand Apache2 mecanism in this scenario :
1/ In this location : var/www/cgi-bin/ (user's group rights : www-data) i've a CGI script (php-cgi) who will execute PHP app + VAR environement version :
#!/bin/bash # file : var/www/cgi-bin/cgi-php exec "/usr/bin/php-cgi$PHP_VERSION"
This script have :
chmod a+x executed at runtime by user www-data (Apache server)
All PHP versions are located in :
All versions working fine.
2/ In Apache Server .conf file, i use :
<Directory "/var/www/cgi-bin"> Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch Require all granted AllowOverride All </Directory> SetEnv PHP_VERSION 7.1 ScriptAlias /cgi-bin-php/ /var/www/cgi-bin/ Action php-cgi /cgi-bin-php/php-cgi AddHandler php-cgi .php
When Apache2 restart i can see in http : PHP Version 7.1 loaded (works fine).
3/ If in .htaccess file i put another PHP_VERSION variable, this not sent ??
File : /var/www/html/.htaccess
SetEnv PHP_VERSION 5.6
In this case .htaccess file do nothing at all. In http i can see : PHP Version 7.1
Question : Why SetEnv PHP_VERSION X.X at runtime is working (when i start Apache2).
And why i can't set a new variable (SetEnv PHP_VERSION X.X) from .htaccess file ? I think Apache won't send $PHP_VERSION variable to the shell environment (Ubuntu Server 16.04).
If anyone can help me... Thanks a lot.