Jump to content

Prestashop 1.4.1.0 sous php 5.4


Recommended Posts

bonsoir

 

suite à une mise à jour obligatoire de php 5.4 sur le prestataire d'hébergement, je me retrouve avec un bug sur le moteur de recherche du site, pour le moment je n'ai vu que cela mais j'imagine que les autres surprises vont tomber, comme je ne suis pas trop expert pour basculer en mise à jour 1.4.9.0, j'essaye de voir si je peu palier à cette erreur, voici ce que cela m'indique

 

Warning: preg_replace(): Compilation failed: disallowed Unicode code point (>= 0xd800 && <= 0xdfff) at offset 1829 in /homepages/26/d365293332/htdocs/site/classes/Search.php on line 104

 

Si quelqu'un peu m'aider, je vous remercie d'avance

 

Prestashop 1.4.1.0

Link to comment
Share on other sites

  • 1 month later...

Bonjour,

 

Ce problème est lié au passage chez 1&1 du langage PHP4 au PHP5.4, pour ceux qui n’arrivent pas à résoudre le problème en réinitialisant le module de recherche ou en réindexant les produits, voici la solution :

 

Ajouter dans le fichier .htaccess (qui est placé à la racine de votre site) le code suivant :

# PHP5
AddType x-mapp-php5 .php
AddHandler x-mapp-php5 .php

 

Testé sur plusieurs versions, cela marche parfaitement sauf sur un site en V1.4.7.3

 

Si quelqu’un trouve mieux ?

Link to comment
Share on other sites

  • 2 weeks later...
  • 5 months later...

Bonjour ,

la solution pour php 5.5 et un moteur de recherche vide à la mise à jour de l'index.

Ça se passe sur Search.php, il faut remplacer preg_replace qui est obsolète par preg_replace_callback,

donc en cherchant :

$string = preg_replace('/['.PREG_CLASS_SEARCH_EXCLUDE.']+/u', ' ', $string);

par

$string = preg_replace_callback('/['.PREG_CLASS_SEARCH_EXCLUDE.']+/u', ' ', $string);

Link to comment
Share on other sites

  • 2 months later...

Bonjour

 

Je relance ce post car au final chez 1&1  qui est en php 5.4.20 , le moteur de recherche n'affiche plus d'erreur mais ne trouve aucune résultat

 

Si quelqu'un a une autre idée merci

 

Edit :

J'ai réparé par cette méthode :

 

Editer le fichier search.php, à la ligne 56

original line : '\x{a806}\x{a80b}\x{a823}-\x{a82b}\x{d800}-\x{f8ff}\x{fb1e}\x{fb29}\x{fd3e}'.
replace with this one : '\x{a806}\x{a80b}\x{a823}-\x{a82b}\x{e000}-\x{f8ff}\x{fb1e}\x{fb29}\x{fd3e}'.

 

Ensuite reconstruire l'index de recherche et cela refonctionne de nouveau

Edited by lanner (see edit history)
  • Like 1
Link to comment
Share on other sites

  • 1 year later...

Bonjour

Mon site en prestatshop 1.2 est hébergé chez 1&1 et je suis passé de PHP 5.4 à PHP 5.5 sur suggestion de 1&1 et depuis la recherche rapide (blocksearch) ne marchait plus.

J'ai mis ajour le .htaccess et appliqué la suggestion de Kevlarbox

J'ai reconstruit les index. Rien n'y faisait. Cela ne marchait toujours pas.

J'ai également désinstaller et installer la même version et d'autres versions du bloc "blocksearch". Cela n'a pas fonctionné.

Finalement c'est la solution suivante de Lanner qui marche pour moi.

1- modifier le fichier search.php qui est dans le dossier "Classes"

en remplacant

'\x{a806}\x{a80b}\x{a823}-\x{a82b}\x{d800}-\x{f8ff}\x{fb1e}\x{fb29}\x{fd3e}'.

par

replace with this one : '\x{a806}\x{a80b}\x{a823}-\x{a82b}\x{e000}-\x{f8ff}\x{fb1e}\x{fb29}\x{fd3e}'.

 

2- j'ai reconstruit l'index

 

Et grande joie, cela marchait après 2 jours de galère.

Grand merci à Lanner

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...