Migration 4->4.1 [Réglé]
forum6691 Membre non connecté
Booster Mortier
-
Booster Mortier
- Voir le profil du membre forum6691
- Inscrit le : 04/10/2009
- Groupes :
Après nb de péripéties (que Janus57 et julienseth78 m'ont aidé à franchir), ça fonctionne en local sous 4.1, après le changement de serveur et l'update 4.1, mais quand je demande la racine de mon site, je suis automatiquement renvoyé vers le l'adresse /news/news.php qui n'existe plus en 4.1 et j'ai une erreur 404.
J'ai vérifié que la réécriture des URL est désactivé (chez free et en local sous wamp).
Une idée pour résoudre celà ?
Testeur V5
janus57 Membre non connecté
-
Booster Fusée
- Voir le profil du membre janus57
- Inscrit le : 07/12/2007
- Groupes :
-
Equipe Assistance
faut surement aller dans l'administration et re-valider les préférence de la page d'accueil.
Cordialement, janus57
j1.seth Membre non connecté
-
Administrateur
- Voir le profil du membre j1.seth
- Inscrit le : 01/09/2008
- Site internet
- Groupes :
-
Chef de Projet
-
Equipe Développement
forum6691 Membre non connecté
Booster Mortier
-
Booster Mortier
- Voir le profil du membre forum6691
- Inscrit le : 04/10/2009
- Groupes :
Vient ensuite le transfert vers free.
Copie FTP, ajout de PHP56 1 à la fin du fichier .htaccess, réimport de la base avec phpmyadmin, mise à jour mot de passe bdd dans le fichier kernel/db/...
Tentative d'exécution du script php de migration qui affiche erreur 500.
Modification à la main dans la BDD de l'adresse http et du chemin relatif du site chez free dans la table phpboost_configs/kernel-general-config
Toujours erreur 500.
Suppression de tout le contenu du .htacess et ajout du seul code PHP56 1
Affichage du site. Accés mais sans aucun attributs css, tout en ligne verticale (que le code HTML en fait). Menu admin et ajout de la balise PHP56 1 dans la zone de texte, puis appliquer.
Le fichier .htaccess est regénéré tel quel:
Code TEXT :
# Error pages # ErrorDocument 403 /user/?url=/error/403/ ErrorDocument 404 /user/?url=/error/404/ # Hide directory listings # Options -Indexes # Expires Headers # <IfModule mod_expires.c> ExpiresActive On ExpiresDefault "access plus 1 week" ExpiresByType image/jpg "access plus 1 month" ExpiresByType image/jpeg "access plus 1 month" ExpiresByType image/png "access plus 1 month" ExpiresByType image/gif "access plus 1 month" AddType image/x-icon .ico ExpiresByType image/ico "access plus 1 month" ExpiresByType image/icon "access plus 1 month" ExpiresByType image/x-icon "access plus 1 month" ExpiresByType text/css "access plus 1 month" ExpiresByType text/javascript "access plus 1 month" ExpiresByType application/javascript "access plus 1 month" ExpiresByType application/x-javascript "access plus 1 month" ExpiresByType application/x-shockwave-flash "access plus 1 month" </IfModule> # Disable file etags # FileETag none # Manual content # php56 1
Essaye d'affiche d'une page et de nouveau erreur 500.
A priori l' Apache de free ne comprend certaines des commandes du fichier .htaccess ???
J'ai tenté de vidé le cache, j'y arrive, mais le fichier .htaccess est regénéré à chaque fois
Je commente donc la ligne
Code PHP :
du fichier /kernel/framework/phpboost/cache/HtaccessFileCache.class.php$this->disable_file_etags();
Je régénère le cache et j'obtiens le fichier .htacess suivant
Code TEXT :
# Error pages # ErrorDocument 403 /user/?url=/error/403/ ErrorDocument 404 /user/?url=/error/404/ # Hide directory listings # Options -Indexes # Expires Headers # <IfModule mod_expires.c> ExpiresActive On ExpiresDefault "access plus 1 week" ExpiresByType image/jpg "access plus 1 month" ExpiresByType image/jpeg "access plus 1 month" ExpiresByType image/png "access plus 1 month" ExpiresByType image/gif "access plus 1 month" AddType image/x-icon .ico ExpiresByType image/ico "access plus 1 month" ExpiresByType image/icon "access plus 1 month" ExpiresByType image/x-icon "access plus 1 month" ExpiresByType text/css "access plus 1 month" ExpiresByType text/javascript "access plus 1 month" ExpiresByType application/javascript "access plus 1 month" ExpiresByType application/x-javascript "access plus 1 month" ExpiresByType application/x-shockwave-flash "access plus 1 month" </IfModule> # Manual content # php56 1
Mais j'ai tjs des erreur 500 dés que je veux ouvrir un page de chez free.
Une idée pour vaincre free ?
Je laisse le site en rade qq heures avant de restaurer un V4 fonctionnelle. Acces ici pour voir la geule du site avec uniquement PHP56 1 dans le fichier .htaccess
Édité par forum6691 Le 01/01/2016 à 13h06
Testeur V5
j1.seth Membre non connecté
-
Administrateur
- Voir le profil du membre j1.seth
- Inscrit le : 01/09/2008
- Site internet
- Groupes :
-
Chef de Projet
-
Equipe Développement
janus57 Membre non connecté
-
Booster Fusée
- Voir le profil du membre janus57
- Inscrit le : 07/12/2007
- Groupes :
-
Equipe Assistance
voici le bon fichier kernel/framework/phpboost/cache/HtaccessFileCache.class.php :
Code PHP :
<?php /*################################################## * HtaccessCache.class.php * ------------------- * begin : October 22, 2009 * copyright : (C) 2009 Benoit Sautel * email : ben.popeye@phpboost.com * * ################################################### * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. * ###################################################*/ /** * This class contains the cache data of the .htaccess file which is located at the root of the site * and is used to change the Apache configuration only in the PHPBoost folder. * @author Benoit Sautel <ben.popeye@phpboost.com> * */ class HtaccessFileCache implements CacheData { private $htaccess_file_content = ''; private $general_config; /** * {@inheritdoc} */ public function synchronize() { $this->htaccess_file_content = ''; $this->general_config = GeneralConfig::load(); if (ServerEnvironmentConfig::load()->is_url_rewriting_enabled()) { $this->enable_rewrite_rules(); $this->add_core_rules(); $this->add_modules_rules(); $this->add_bandwidth_protection(); $this->add_robots_protection(); } $this->add_error_redirection(); $this->add_hide_directory_listings(); $this->add_expires_headers(); //$this->disable_file_etags(); $this->add_manual_content(); $this->clean_file_content(); } private function add_line($line) { $this->htaccess_file_content .= "\n" . $line; } private function add_empty_line() { $this->add_line(''); } private function add_section($name) { $this->add_empty_line(); $this->add_line('# ' . $name . ' #'); } private function enable_rewrite_rules() { $this->add_section('Rewrite rules'); $this->add_line('RewriteEngine on'); } private function add_core_rules() { $this->add_section('Core'); $this->add_rewrite_rule('^user/pm-?([0-9]+)-?([0-9]{0,})-?([0-9]{0,})-?([0-9]{0,})-?([a-z_]{0,})\.php$', 'user/pm.php?pm=$1&id=$2&p=$3"e=$4'); $eps = AppContext::get_extension_provider_service(); $mappings = $eps->get_extension_point(UrlMappingsExtensionPoint::EXTENSION_POINT); $authorized_extension_point = array('kernel', 'user'); foreach ($mappings as $id => $mapping_list) { if (in_array($id, $authorized_extension_point)) { $this->add_url_mapping($mapping_list); } } } private function add_modules_rules() { $this->add_section('Modules rules'); $modules = ModulesManager::get_activated_modules_map(); $eps = AppContext::get_extension_provider_service(); foreach ($modules as $module) { $id = $module->get_id(); $configuration = $module->get_configuration(); $rules = $configuration->get_url_rewrite_rules(); if (!empty($rules)) { $this->add_section($id); } foreach ($rules as $rule) { $this->add_line(str_replace('DIR', $this->general_config->get_site_path(), $rule)); } if ($eps->provider_exists($id, UrlMappingsExtensionPoint::EXTENSION_POINT)) { $this->add_section($id); $provider = $eps->get_provider($id); $url_mappings = $provider->get_extension_point(UrlMappingsExtensionPoint::EXTENSION_POINT); $this->add_url_mapping($url_mappings); } } } private function add_rewrite_rule($match, $path, $options = 'L,QSA') { $this->add_line('RewriteRule ' . $match . ' ' . $this->general_config->get_site_path() . '/' . ltrim($path, '/') . ' [' . $options . ']'); } private function add_url_mapping(UrlMappingsExtensionPoint $mapping_list) { foreach ($mapping_list->list_mappings() as $mapping) { $this->add_rewrite_rule($mapping->from(), $mapping->to(), $mapping->options()); } } private function add_bandwidth_protection() { //Bandwidth protection. The /upload directory can be forbidden if the request comes from //out of PHPBoost if (FileUploadConfig::load()->get_enable_bandwidth_protect()) { $this->add_section('Bandwith protection'); $this->add_line('RewriteCond %{HTTP_REFERER} !^$'); $this->add_line('RewriteCond %{HTTP_REFERER} !^' . $this->general_config->get_site_url()); $this->add_line('RewriteRule .*upload/.*$ - [F]'); } } private function add_robots_protection() { //Robot protection $this->add_section('Avoid Hacking Attempt'); $this->add_line('RewriteCond %{HTTP_USER_AGENT} libwww [NC]'); $this->add_line('RewriteRule .* - [F,L]'); } private function add_error_redirection() { //Error page $this->add_empty_line(); $this->add_line('# Error pages #'); $this->add_line('ErrorDocument 403 ' . $this->general_config->get_site_path() . UserUrlBuilder::error_403()->relative()); $this->add_line('ErrorDocument 404 ' . $this->general_config->get_site_path() . UserUrlBuilder::error_404()->relative()); } private function add_hide_directory_listings() { $this->add_empty_line(); $this->add_line('# Hide directory listings #'); $this->add_line('Options -Indexes'); } private function add_expires_headers() { $this->add_empty_line(); $this->add_line('# Expires Headers #'); $this->add_line('<IfDefine IfModule>'); $this->add_line('<IfModule mod_expires.c>'); $this->add_line('ExpiresActive On'); $this->add_line('ExpiresDefault "access plus 1 week"'); $this->add_line('ExpiresByType image/jpg "access plus 1 month"'); $this->add_line('ExpiresByType image/jpeg "access plus 1 month"'); $this->add_line('ExpiresByType image/png "access plus 1 month"'); $this->add_line('ExpiresByType image/gif "access plus 1 month"'); $this->add_line('AddType image/x-icon .ico'); $this->add_line('ExpiresByType image/ico "access plus 1 month"'); $this->add_line('ExpiresByType image/icon "access plus 1 month"'); $this->add_line('ExpiresByType image/x-icon "access plus 1 month"'); $this->add_line('ExpiresByType text/css "access plus 1 month"'); $this->add_line('ExpiresByType text/javascript "access plus 1 month"'); $this->add_line('ExpiresByType application/javascript "access plus 1 month"'); $this->add_line('ExpiresByType application/x-javascript "access plus 1 month"'); $this->add_line('ExpiresByType application/x-shockwave-flash "access plus 1 month"'); $this->add_line('</IfModule>'); $this->add_line('</IfDefine>'); } private function disable_file_etags() { $this->add_empty_line(); $this->add_line('# Disable file etags #'); $this->add_line('#FileETag none'); } private function add_manual_content() { $manual_content = ServerEnvironmentConfig::load()->get_htaccess_manual_content(); if (!empty($manual_content)) { $this->add_section('Manual content'); $this->add_line($manual_content); } } private function clean_file_content() { $this->htaccess_file_content = trim($this->htaccess_file_content); } /** * Returns the content of the .htaccess file * @return string its content */ public function get_htaccess_file_content() { return $this->htaccess_file_content; } /** * Loads and returns the groups cached data. * @return HtaccessFileCache The cached data */ public static function load() { return CacheManager::load(__CLASS__, 'kernel', 'htaccess-file'); } /** * Invalidates the current groups cached data. */ public static function invalidate() { CacheManager::invalidate('kernel', 'htaccess-file'); } /** * Regenerates the .htaccess file */ public static function regenerate() { self::invalidate(); self::update_htaccess_file(); } private static function update_htaccess_file() { $file = new File(PATH_TO_ROOT . '/.htaccess'); try { $file->write(self::get_file_content()); $file->close(); } catch(IOException $ex) { ErrorHandler::add_error_in_log('Couldn\'t write the .htaccess file. Please check the site root read authorizations.', ''); } } /** * * @return string */ private static function get_file_content() { return self::load()->get_htaccess_file_content(); } } ?>
Car erreur 500 y aura jamais rien dans les logs vu que c'est les directives dans le .htaccess que free ne support pas mais ne devrais pas planter PHP pour autant (config à la con).
Comme dit sur le bugtracker il faut utiliser les fichiers avec correction (présent uniquement sur le github pour le moment) ou attendre la sortie de la V4.1.7 avec les corrections inclus.
Cordialement, janus57
forum6691 Membre non connecté
Booster Mortier
-
Booster Mortier
- Voir le profil du membre forum6691
- Inscrit le : 04/10/2009
- Groupes :
Janus57, toi être le meilleur.
J'ai recopié le fichier kernel/framework/phpboost/cache/HtaccessFileCache.class.php avec ton code.
J'ai refait un vidage du cache, on obtient une page blanche, mais le fichier .htaccess reste lisible par free.
Tjs le pb de mise en page par ailleurs. J'ai alors désactivé le cache CSS tout court et miracle, la mise en page est revenue.
Donc, à part le pb de la page blanche après la régénération du cache, le site fonctionne en version 4.1 chez free avec le php5.6 activé.
Info retournée par la commande état du serveur:
Code TEXT :
Serveur Version de PHP 5.6.8 Version du SGBD MySQL 5.0.83 Librairie GD Réécriture des URL Option register globals URL du serveur http://androidapp.free.fr Chemin de PHPBoost Configuration de PHPBoost Version du noyau 4.1.6 URL du serveur http://androidapp.free.fr Chemin de PHPBoost Thème (par défaut) du site Base Langue (par défaut) du site Français Editeur de texte par défaut BBCode Page de démarrage du site http://androidapp.free.fr/index.php Réécriture des URL Compression des pages Nom du cookie des sessions session Durée de la session (en secondes) 3600 Durée utilisateurs actifs (en secondes) 300
Édité par forum6691 Le 01/01/2016 à 13h44
Testeur V5
janus57 Membre non connecté
-
Booster Fusée
- Voir le profil du membre janus57
- Inscrit le : 07/12/2007
- Groupes :
-
Equipe Assistance
pour le cache CSS cela a aussi été trouvé et corrigé donc plus de page "blanche" par manque de CSS.
Cordialement, janus57
forum6691 Membre non connecté
Booster Mortier
-
Booster Mortier
- Voir le profil du membre forum6691
- Inscrit le : 04/10/2009
- Groupes :
On va avoir une version de choc lorsque la V5 Release et V4.1.7 Release sortiront

Merci en tout du temps passé à m'aider pendant ces périodes de fêtes
Édité par forum6691 Le 01/01/2016 à 14h00
Testeur V5
j1.seth Membre non connecté
-
Administrateur
- Voir le profil du membre j1.seth
- Inscrit le : 01/09/2008
- Site internet
- Groupes :
-
Chef de Projet
-
Equipe Développement
forum6691 Membre non connecté
Booster Mortier
-
Booster Mortier
- Voir le profil du membre forum6691
- Inscrit le : 04/10/2009
- Groupes :
Testeur V5
Répondre
Vous n'êtes pas autorisé à écrire dans cette catégorie