Anomalie #1602
closedputenv PHP function disabled on my hosting
100%
Description
Bonjour,
j'ai mis à jour de la version 0.9.4.2 (qui fonctionnait) vers la 0.9.5.2 et la 0.9.6 ce soir avec le message d'erreur suivant quand je lance mon instance de galette :
Fatal error: Uncaught ErrorException: putenv() has been disabled for security reasons in /var/www/legtux.org/users/ssl/www/galette/lib/Galette/Core/I18n.php:146 Stack trace: #0 [internal function]: {closure}() #1 /var/www/legtux.org/users/ssl/www/galette/lib/Galette/Core/I18n.php(146): putenv() #2 /var/www/legtux.org/users/ssl/www/galette/lib/Galette/Core/I18n.php(130): Galette\Core\I18n->updateEnv() #3 /var/www/legtux.org/users/ssl/www/galette/lib/Galette/Core/I18n.php(113): Galette\Core\I18n->changeLanguage() #4 /var/www/legtux.org/users/ssl/www/galette/includes/dependencies.php(200): Galette\Core\I18n->__construct() #5 [internal function]: {closure}() #6 /var/www/legtux.org/users/ssl/www/galette/vendor/php-di/invoker/src/Invoker.php(74): call_user_func_array() #7 /var/www/legtux.org/users/ssl/www/galette/vendor/php-di/php-di/src/Definition/Resolver/FactoryResolver.php(80): Invoker\Invoker->call() #8 /var/www/legtux.org/users/ssl/www/galette/vendor/php-di/php-di/src/Definition/Resolver/ResolverDispatcher.php(71): DI\Def in /var/www/legtux.org/users/ssl/www/galette/lib/Galette/Core/I18n.php on line 146
j'ai demandé à mon hébergeur, la fonction putenv() est désactivé sur le serveur.
comment puis-je régler le problème sachant que seul le français est utilisé ?
cordialement
Anthony
Updated by Johan Cwiklinski about 3 years ago
- Subject changed from fatal error suite à maj vers 0.9.6 to putenv PHP function disabled on my hosting
L'utilisation d'appels à putenv()
a été introduit en 2004 ; je ne sais pas exactement pourquoi puisque cela ne semble utile que sous windows.
Je pense que pas mal de choses là dedans sont juste datées, mais je n'ai pas de solution rapide à proposer ; je n'ai même pas de windows sous la main. En contournement, ajouter @
devant les appels qui posent problème, ou commenter la condition complète devrait faire l'affaire.
Updated by Johan Cwiklinski about 3 years ago
- Priority changed from Normal to Bas
Updated by anthony heit almost 3 years ago
Bonjour,
J'ai essayer d'ajouter et/ ou de commenter, mais cela ne fonctionne pas,
cela renvoie d'autres erreurs et en commentant à nouveau les nouvelles erreurs j'arrive au final sur une page blanche.
Pour info le serveur est sous debian et mon ordi tourne sous ubuntu, donc à priori pas de windows dans l'affaire.
cordialement
Anthony
Updated by Johan Cwiklinski almost 3 years ago
Le correctif à apporter serait le suivant :
diff --git a/galette/lib/Galette/Core/I18n.php b/galette/lib/Galette/Core/I18n.php
index e4ab77b1a..83a23e0e9 100644
--- a/galette/lib/Galette/Core/I18n.php
+++ b/galette/lib/Galette/Core/I18n.php
@@ -142,19 +142,14 @@ class I18n
setlocale(LC_ALL, $this->getLongID());
- if (
- putenv("LANG=" . $this->getLongID())
- or putenv("LANGUAGE=" . $this->getLongID())
- or putenv("LC_ALL=" . $this->getLongID())
- ) {
- $textdomain = realpath(GALETTE_ROOT . 'lang');
- //main translation domain
- $domain = 'galette';
- bindtextdomain($domain, $textdomain);
- //set default translation domain and encoding
- textdomain($domain);
- bind_textdomain_codeset($domain, 'UTF-8');
- }
+ $textdomain = realpath(GALETTE_ROOT . 'lang');
+ //main translation domain
+ $domain = 'galette';
+ bindtextdomain($domain, $textdomain);
+ //set default translation domain and encoding
+ textdomain($domain);
+ bind_textdomain_codeset($domain, 'UTF-8');
+
if ($translator) {
$translator->setLocale($this->getLongID());
}
S'il y a d'autres erreurs, ça doit être autre chose, vérifier dans les logs.
Updated by anthony heit almost 3 years ago
Bonjour,
merci pour la réponse, malheureusement toujours des erreurs :
Fatal error: Uncaught ErrorException: Use of undefined constant GALETTE_TPL_SUBDIR - assumed 'GALETTE_TPL_SUBDIR' (this will throw an Error in a future version of PHP) in /var/www/legtux.org/users/ssl/www/galette/includes/dependencies.php:71 Stack trace: #0 /var/www/legtux.org/users/ssl/www/galette/includes/dependencies.php(71): {closure}() #1 [internal function]: {closure}() #2 /var/www/legtux.org/users/ssl/www/galette/vendor/php-di/invoker/src/Invoker.php(74): call_user_func_array() #3 /var/www/legtux.org/users/ssl/www/galette/vendor/php-di/php-di/src/Definition/Resolver/FactoryResolver.php(80): Invoker\Invoker->call() #4 /var/www/legtux.org/users/ssl/www/galette/vendor/php-di/php-di/src/Definition/Resolver/ResolverDispatcher.php(71): DI\Definition\Resolver\FactoryResolver->resolve() #5 /var/www/legtux.org/users/ssl/www/galette/vendor/php-di/php-di/src/Container.php(390): DI\Definition\Resolver\ResolverDispatcher->resolve() #6 /var/www/legtux.org/users/ssl/www/galette/vendor/php-di/php-di/src/Container.php(139): DI\Cont in /var/www/legtux.org/users/ssl/www/galette/includes/dependencies.php on line 71
les logs de galette donnent (pas de log avec la modif effectuée):
2001:41d0:2:12d1:: - 2022-01-11 20:36:02 - DEBUG - Trying to set locale to fr_FR
2001:41d0:2:12d1:: - 2022-01-11 20:40:09 - DEBUG - Trying to set locale to fr_FR
2001:41d0:2:12d1:: - 2022-01-11 20:40:36 - DEBUG - Trying to set locale to fr_FR
2001:41d0:2:12d1:: - 2022-01-11 20:45:25 - DEBUG - Trying to set locale to fr_FR
2001:41d0:2:12d1:: - 2022-01-11 20:46:18 - DEBUG - Trying to set locale to fr_FR
2001:41d0:2:12d1:: - 2022-01-11 20:47:55 - DEBUG - Trying to set locale to fr_FR
2001:41d0:2:12d1:: - 2022-01-11 21:06:29 - DEBUG - Trying to set locale to fr_FR
94.23.17.209 - 2022-01-12 00:34:50 - DEBUG - Trying to set locale to fr_FR
94.23.17.209 - 2022-01-12 21:20:56 - ALERT - [Db] Error (2006|Connect Error: SQLSTATE[HY000] [2006] MySQL server has gone away)
2001:41d0:2:12d1:: - 2022-01-15 09:34:55 - DEBUG - Trying to set locale to fr_FR
et les logs du serveur :
185.191.171.14 - - [12/Jan/2022:22:20:06 +0100] "GET /robots.txt HTTP/1.1" 404 360 "-" "Mozilla/5.0 (compatible; SemrushBot/7~bl; +http://www.semrush.com/bot.html)"
185.191.171.18 - - [12/Jan/2022:22:20:56 +0100] "GET /galette/webroot/index.php/login?ui_pref_lang=ar HTTP/1.1" 200 758 "-" "Mozilla/5.0 (compatible; SemrushBot/7~bl; +http://www.semrush.com/bot.html)"
185.191.171.18 - - [12/Jan/2022:22:20:06 +0100] "GET /galette/webroot/index.php/login?ui_pref_lang=ar HTTP/1.1" 200 856 "-" "Mozilla/5.0 (compatible; SemrushBot/7~bl; +http://www.semrush.com/bot.html)"
45.129.18.106 - - [13/Jan/2022:21:35:07 +0100] "HEAD / HTTP/1.1" 200 111 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/35.0.1916.47 Safari/537.36"
40.77.167.100 - - [14/Jan/2022:19:52:28 +0100] "GET /robots.txt HTTP/1.1" 404 5214 "-" "Mozilla/5.0 (compatible; bingbot/2.0; +http://www.bing.com/bingbot.htm)"
40.77.167.100 - - [14/Jan/2022:19:52:28 +0100] "GET /robots.txt HTTP/1.1" 404 425 "-" "Mozilla/5.0 (compatible; bingbot/2.0; +http://www.bing.com/bingbot.htm)"
40.77.167.100 - - [14/Jan/2022:23:49:26 +0100] "GET /robots.txt HTTP/1.1" 404 5194 "-" "Mozilla/5.0 (compatible; bingbot/2.0; +http://www.bing.com/bingbot.htm)"
157.55.39.67 - - [14/Jan/2022:23:49:34 +0100] "GET /galette/webroot/subscribe?ui_pref_lang=uk HTTP/1.1" 200 6120 "-" "Mozilla/5.0 (compatible; bingbot/2.0; +http://www.bing.com/bingbot.htm)"
2a01:e0a:9c4:31b0:88c5:b915:30b:fed4 - - [15/Jan/2022:10:31:56 +0100] "GET /galette/webroot//login HTTP/1.1" 200 5763 "-" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:95.0) Gecko/20100101 Firefox/95.0"
2a01:e0a:9c4:31b0:88c5:b915:30b:fed4 - - [15/Jan/2022:10:33:07 +0100] "GET /galette/webroot//login HTTP/1.1" 200 5866 "-" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:95.0) Gecko/20100101 Firefox/95.0"
2a01:e0a:9c4:31b0:88c5:b915:30b:fed4 - - [15/Jan/2022:10:34:55 +0100] "GET /galette/webroot//login HTTP/1.1" 200 1344 "-" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:95.0) Gecko/20100101 Firefox/95.0"
2a01:e0a:9c4:31b0:88c5:b915:30b:fed4 - - [15/Jan/2022:10:40:09 +0100] "GET /galette/webroot//login HTTP/1.1" 200 5969 "-" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:95.0) Gecko/20100101 Firefox/95.0"
2a01:e0a:9c4:31b0:88c5:b915:30b:fed4 - - [15/Jan/2022:12:20:52 +0100] "GET /galette/webroot//login HTTP/1.1" 200 5969 "-" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:95.0) Gecko/20100101 Firefox/95.0"
pour la modif, il faut bien supprimer les lignes "-" et ajouter les lignes "+" ?
cordialement
Anthony
Updated by Johan Cwiklinski almost 3 years ago
Hello,
anthony heit a écrit (#note-5):
merci pour la réponse, malheureusement toujours des erreurs :
C'en est une autre pour le coup.
Fatal error: Uncaught ErrorException: Use of undefined constant GALETTE_TPL_SUBDIR - assumed 'GALETTE_TPL_SUBDIR' (this will throw an Error in a future version of PHP) in /var/www/legtux.org/users/ssl/www/galette/includes/dependencies.php:71 Stack trace: #0 /var/www/legtux.org/users/ssl/www/galette/includes/dependencies.php(71): {closure}() #1 [internal function]: {closure}() #2 /var/www/legtux.org/users/ssl/www/galette/vendor/php-di/invoker/src/Invoker.php(74): call_user_func_array() #3 /var/www/legtux.org/users/ssl/www/galette/vendor/php-di/php-di/src/Definition/Resolver/FactoryResolver.php(80): Invoker\Invoker->call() #4 /var/www/legtux.org/users/ssl/www/galette/vendor/php-di/php-di/src/Definition/Resolver/ResolverDispatcher.php(71): DI\Definition\Resolver\FactoryResolver->resolve() #5 /var/www/legtux.org/users/ssl/www/galette/vendor/php-di/php-di/src/Container.php(390): DI\Definition\Resolver\ResolverDispatcher->resolve() #6 /var/www/legtux.org/users/ssl/www/galette/vendor/php-di/php-di/src/Container.php(139): DI\Cont in /var/www/legtux.org/users/ssl/www/galette/includes/dependencies.php on line 71
[...]
C'est corrigé, voir #1615
94.23.17.209 - 2022-01-12 21:20:56 - ALERT - [Db] Error (2006|Connect Error: SQLSTATE[HY000] [2006] MySQL server has gone away)
Ça, ce n'est pas un problème de Galette à priori ; enfin, pas directement (j'ai souvent ça qua,nd je met des points d’arrêt dans le code, et que je met plus de 30 secondes à inspecter). À voir su ça se reproduit (et dans quelles circonstances).
pour la modif, il faut bien supprimer les lignes "-" et ajouter les lignes "+" ?
Oui, oui :) À vue de nez, tu as bien appliqué la modif puisque l'erreur d'origine n'est plus là ;)
Updated by Johan Cwiklinski over 2 years ago
- Status changed from Nouveau to Résolu
- % Done changed from 0 to 100
Appliqué par commit 73adec7a2018e3fd03200d8c984ac45481f3b7ef.
Updated by Johan Cwiklinski about 1 year ago
- Category set to Core
- Status changed from Résolu to Fermé
- Assignee set to Johan Cwiklinski
- Target version set to 1.0.0